Feel Good
poj2796:http://poj.org/problem?id=2796
题意:给出一个长度为n(n<100000)的序列,求出一个子序列,使得这个序列中的最小值乘以这个序列的和的值最大。
思路:枚举每一个点,然后算出以这个点为最小值的区间能向左向右扩展到哪里,然后选择最优的就行。
- #include<iostream>
- #include<cstdio>
- #include<cstring>
- #include<algorithm>
- using namespace std;
- const int N=1e5+;
- long long a[N];
- long long ll[N],rr[N];
- long long sum[N];
- int n;
- int main(){
- while(~scanf("%d",&n)){
- memset(sum,,sizeof(sum));
- memset(ll,,sizeof(ll));
- memset(rr,,sizeof(rr));
- memset(a,-,sizeof(a));
- sum[]=;
- for(int i=;i<=n;i++){
- scanf("%I64d",&a[i]);
- sum[i]=sum[i-]+a[i];
- }
- for(int i=;i<=n;i++){
- ll[i]=i;
- if(i==)continue;
- long long t=i-;
- while(a[i]<=a[t]){
- ll[i]=ll[t];
- t=ll[t]-;
- }
- }
- for(int i=n;i>=;i--){
- rr[i]=i;
- if(i==n)continue;
- long long t=i+;
- while(a[i]<=a[t]){
- rr[i]=rr[t];
- t=rr[t]+;
- }
- }
- long long l,r,ans=-;
- for(int i=;i<=n;i++){
- long long temp=a[i]*(sum[rr[i]]-sum[ll[i]-]);
- if(temp>ans){
- ans=temp;
- l=ll[i];r=rr[i];
- }
- }
- printf("%I64d\n%I64d %I64d\n",ans,l,r);
- }
- }
随机推荐
- TCP参数设置
我们这里应用的是CentOS5.3,并内核使用的是2.6.18-128.el5PAE #1 SMP .修改部分TCP ,有的是为了提高性能与负载,但是存在降低稳定性的风险.有的则是安全方面的配置,则有 ...
- MYSQL 专家 ----zhaiwx_yinfeng
http://mysqllover.com/?p=708 https://yq.aliyun.com/articles/54454 http://blog.csdn.net/zhaiwx1987/ar ...
- 追踪CPU跑满 堆栈调试
http://blog.donghao.org/2014/04/24/%E8%BF%BD%E8%B8%AAcpu%E8%B7%91%E6%BB%A1/
- android开发之定制ViewPager滑动事件
明天还要加班,苦逼的程序猿,简单说说最近遇到的一个问题吧. 我在viewpager+fragment学习笔记中简单介绍过ViewPager+Fragment的用法,其实并不难,当时实现了一个如下图所示 ...
- WS_CLIPCHILDREN和WS_CLIPSIBLINGS的理解(转载)
1.1 WS_CLIPCHILDREN WS_CLIPCHILDREN样式从字面上可以理解成ClipChildren,裁减子窗口. MSDN里的E文解释:Excludes the area occup ...
- hibernate和mybatis思想,区别,优缺点
Hibernate 简介 Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO 和数据库表之间的映射,以及SQL 的自动生成和执行.程序员往往只 ...
- HDU1862EXCEL排序
其实最近都没有兴趣做排序题目,因为我觉得纯粹排序对我而言进步不大,但是舍友TLE了,叫我试一试. 整道题的思路很简单啦,我用的是快排,比较的原则也给得很清楚,不必多言,我没有用stdlib的快排,也没 ...
- SGU 296.Sasha vs. Kate(贪心)
题意: 给出长度为n(<=1000)的一个数.输出删掉k个数字后的最大值. Solution: 简单贪心. s[i]代表数字s的第i位. 从前往后第一个满足s[i]>s[i-1]的位置,最 ...
- Photon开发实战(2)——开发框架、第一个Photon程序
Photon基础开发框架 Photon (v4)的基本框架.开发框架主要Photon和游戏逻辑(C#)两个部分,如下图最新的Photon v4支持的4种底层协议,游戏开发逻辑Photon目前主要划分为 ...
- 分享一个自己写的基于TP的关系模型(三)
这段时间对模型做了升级和优化,并将版本更新到TP3.2. 下载 下载后请将目录放置TP的Library目录下 1.数据节点优化,原来的节点为模型的名称或者表名,现在更新为定义关系的方法名 public ...