rqnoj-208-奥运火炬到厦门-dp
这道题目是把一个连续的串看成一个环。
那么除了原始的求最大字段和外。
还存在一种情况是前面的连续最大值,加上后面的连续最大值。
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
int a[2000002];
int st[1000010];
int ed[1000010];
int main()
{
int n,i;
scanf("%d",&n); for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
a[i+n]=a[i];
}
int maxx;
maxx=-999999;
int ans;
ans=0;
// int top=0;
//st=0;
for(i=0;i<n;i++)
{
ans+=a[i];
maxx=max(ans,maxx);
if(i==0)st[i]=a[i];
else st[i]=st[i-1]+a[i];
if(ans<0)
{
ans=0;
}
}
ans=0;
for(i=n-1;i>=0;i--)
{
ed[i]=ed[i+1]+a[i];
}
for(i=1;i<n;i++)
{
st[i]=max(st[i-1],st[i]);
}
for(i=n-1;i>=0;i--)ed[i]=max(ed[i+1],ed[i]);
for(i=0;i<n;i++)
{
// cout<<st[i]<<" "<<ed[i+1]<<endl;
maxx=max(maxx,st[i]+ed[i+1]);
}
cout<<maxx<<endl; return 0;
}
rqnoj-208-奥运火炬到厦门-dp的更多相关文章
- RQNOJ 202 奥运火炬登珠峰:01背包
		题目链接:https://www.rqnoj.cn/problem/202 题意: 登珠峰需要携带a(L)O2和t(L)N2. 有n个气缸可供选择.其中第i个气缸能装下a[i](L)O2和t[i](L ... 
- RQNOJ 188 购物问题:树形dp
		题目链接:https://www.rqnoj.cn/problem/188 题意: 商场以超低价格出售n个商品,购买第i个商品所节省的金额为w[i]. 为了防止亏本,有m对商品是不能同时买的.但保证商 ... 
- RQNOJ 514 字串距离:dp & 字符串
		题目链接:https://www.rqnoj.cn/problem/514 题意: 设有字符串X,我们称在X的头尾及中间插入任意多个空格后构成的新字符串为X的扩展串,如字符串X为”abcbcd”,则字 ... 
- RQNOJ 201 奥运大包围:LIS + 拼链成环
		题目链接:https://www.rqnoj.cn/problem/201 题意: 开始时n(n<=1000)个人手拉手围成一个圈. 后来这些人中的一些按顺序向里面出圈形成一个新圈.从而使原圈形 ... 
- 【FINAL】NOI
		我就是复习一下..根本就不是什么题解...谁也看不懂的... NOI2007 社交网络 最短路 货币兑换 斜率优化动态规划 项链工厂 线段树 生成树计数 ... 
- bzoj 1061~1065【Noi2008】解题报告
		这次Noi好像格外喜欢树形DpQAQ P.S.好像这次的题都与图有关QAQ bzoj1061[Noi2008]志愿者招募:上下界可行最小费用流 bzoj1062[Noi2008]糖果雨:数形结合&am ... 
- RQNOJ 569 Milking Time:dp & 线段问题
		题目链接:https://www.rqnoj.cn/problem/569 题意: 在一个数轴上可以摆M个线段,每个线段的起始终止端点给定(为整数),且每个线段有一个分值,问如何从中选取一些线段使得任 ... 
- RQNOJ 328 炮兵阵地:状压dp
		题目链接:https://www.rqnoj.cn/problem/328 题意: 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队. 一个N*M的地图由N行M列组成(N≤100,M≤10), ... 
- RQNOJ 311 [NOIP2000]乘积最大:划分型dp
		题目链接:https://www.rqnoj.cn/problem/311 题意: 给你一个长度为n的数字,用t个乘号分开,问你分开后乘积最大为多少.(6<=n<=40,1<=k&l ... 
随机推荐
- ref:一系列用于Fuzzing学习的资源汇总
			ref:http://www.freebuf.com/articles/rookie/169413.html 一系列用于Fuzzing学习的资源汇总 secist2018-04-30共185833人围 ... 
- Redux学习之解读applyMiddleware源码深入middleware工作机制
			随笔前言 在上一周的学习中,我们熟悉了如何通过redux去管理数据,而在这一节中,我们将一起深入到redux的知识中学习. 首先谈一谈为什么要用到middleware 我们知道在一个简单的数据流场景中 ... 
- Java并发(九):重入锁 ReentrantLock
			先做总结: 1.为什么要用ReentrantLock? (1)ReentrantLock与synchronized具有相同的功能和内存语义: (2)synchronized是重量级锁,性能不好.Ree ... 
- SpringBoot 部署 docker 打包镜像
			SpringBoot 部署 docker 打包镜像 环境: 1.代码编写工具:IDEA 2.打包:maven 3.docker 4.linux 7.JDK1.8 8.Xshell 9.Xftp 第一步 ... 
- bzoj 2154
			收获: 1.当一个东西的取值范围很小时,或者感觉它很麻烦时,就枚举它 2.熟悉mobius函数.euler函数的和函数,以及euler函数用mobius函数的表示. 3.下取整分块理解更深了. /** ... 
- UESTC 2015dp专题 G 邱老师玩游戏 背包dp
			邱老师玩游戏 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/65 Descr ... 
- 在Windows下将Redis注册为本地服务
			当前redis版本:3.2.100 通常情况下我们可以通过 redis-server.exe 和配置文件启动redis服务 : redis-server.exe redis.windows.conf ... 
- Shell基础学习(六) 流程控制
			1.if if的语法格式 if conditon then command1 command2 ``` commandn fi 2.if else if conditon then command1 ... 
- 几种OutOfMemoryError
			JAVA虚拟机OutOfMemoryError主要包括以下四类:java.lang.OutOfMemoryError: Java heap spacejava.lang.OutOfMemoryErro ... 
- JS 判断PC、android、ios、微信浏览器
			1.通过js userAgent来判断 <h1>判断访问此链接的操作系统</h1> <script> var Agents = new Array("An ... 
