HDU 5696 区间的价值 (百度之星2B)
来源:互联网 发布:jquery.base64.js用法 编辑:程序博客网 时间:2024/06/05 03:37
前言:
因为是完全随机数据,所以大概找一个平均复杂度是
然后网上看的其他的方法,因为数据完全随机,导致做法太多了。
分析:
暴力区间内最大值,然后向左向右扩展,直到比这个值大的那个数位置,更新这段内所有长度的最大值优先向大的数的那边扩展。基本就是xjb做一下就可以了。
代码:
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <set>#include <map>#include <queue>#include <vector>#include <string>using namespace std;typedef long long LL;typedef vector <int> VI;typedef pair <int,int> PII;#define FOR(i,x,y) for(int i = x;i < y;++ i)#define IFOR(i,x,y) for(int i = x;i > y;-- i)#define pb push_back#define mp make_pair#define fi first#define se secondconst int maxn = 1e5+5;const int inf = 1e9+7;int n,a[maxn];LL dp[maxn];void work(){ memset(dp,0,sizeof(dp)); FOR(i,0,n){ dp[1] = max(dp[1],(LL)a[i]*a[i]); int l = i,r = i,minx = a[i]; while(l || r < n){ if(!l) minx = min(minx,a[++r]); else if(r == n-1) minx = min(minx,a[--l]); else if(a[l-1] > a[r+1]) minx = min(minx,a[--l]); else minx = min(minx,a[++r]); if(a[r] > a[i] || a[l] > a[i]) break; dp[r-l+1] = max(dp[r-l+1],(LL)minx*a[i]); //printf("i:%d len:%d %d: %I64d\n",i,l,r,(LL)minx*a[i]); } //printf("\n"); } FOR(i,1,n+1) printf("%I64d\n",dp[i]);}int main(){ while(~scanf("%d",&n)){ FOR(i,0,n) scanf("%d",&a[i]); work(); } return 0;}
0 0
- HDU 5696 区间的价值 (百度之星2B)
- 百度之星初赛B hdu5696 区间的价值 分治思想
- HDU 5700区间交(百度之星2B)
- HDU-5696-区间的价值(DFS)
- 2016百度之星初赛Astar Round2B - 区间的价值
- HDU 5696 区间的价值
- HDU 5696 区间的价值
- HDU 5696 区间的价值
- HDU 5696 区间的价值
- 2016"百度之星" 初赛(Astar Round2B) 1001 区间的价值
- [HDU 5696] 区间的价值 (单调栈+RMQ)
- HDU 5696 区间的价值 (DFS)
- hdu 区间的价值(RMQ+扫描)
- 2016"百度之星“-初赛(Astar Round2B)-A.区间的价值
- HDU5696 2016百度之星初赛Astar Round2B 区间的价值
- 2017百度之星初赛(B) 1006 小小粉丝度度熊(区间合并+尺取法)
- HDU 5700 区间交 百度之星题解 round2B (set+vector)
- QAQ的区间价值
- python 破解wp博客后台登陆密码
- 第六次c++上机作业
- 百度联盟发现作弊行为的分析以及应对作弊行为的措施
- 8种Nosql数据库系统对比
- Spring基础知识之IOC(控制反转)
- HDU 5696 区间的价值 (百度之星2B)
- 欢迎使用CSDN-markdown编辑器
- HDU-1856-More is better
- Plist存储简述
- SpringFramework的几个核心模块
- Leetcode 350. Intersection of Two Arrays II
- 框架 day37 Spring3,AOP,代理模式(动态/CGLIB/工厂bean),传统AOP,AspectJ框架(基于xml/注解),切入点表达式,jdbcTemplate
- 理解 Java 垃圾回收机制
- 食物链