hdu 1422(环上最长连续子序列)
2013-05-22 21:50
260 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1422
View Code
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define MAXN 222222 int level[MAXN]; int dp[MAXN]; int n,w,l; int main(){ while(~scanf("%d",&n)){ int st=0,ans=0,now=0; memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++){ scanf("%d%d",&w,&l); level[i]=level[i+n]=w-l; } for(int i=1;i<=2*n;i++){ if(now+level[i]>=0){ now+=level[i]; dp[i]=dp[i-1]+1; //最多n个城市 if(i-st==n){ ans=max(ans,dp[i]); break; } }else { now=0,st=i;//注意这里st应该改为i. dp[i]=0; ans=max(ans,dp[i-1]); } } printf("%d\n",ans); } return 0; }
View Code
相关文章推荐
- hdu 1422(环上最长连续子序列)
- HDU 3308 线段树。。最长连续上升子序列
- HDU 3308 线段树单点更新+区间查找最长连续子序列
- 线段树区间合并+最长连续递增子序列——HDU 3308
- HDU 1422 重温世界杯【最长非负连续子序列】
- HDU 1003 Max Sum(最长连续子序列和)
- HDU 3308 LCIS(最长连续上升子序列)(线段树区间合并)
- HDU 3308 LCIS(最长连续上升子序列)
- HDU 1003 Max Sum 最长连续子序列和
- HDU 3308——LCIS(线段树,区间合并,最长连续递增子序列)
- HDU 1422重温世界杯 (环形)最长连续子段 由最大连续子段和变形的到
- hdu 3308 线段树-区间连续最长上升子序列
- HDU 1231 (最长连续子序列)
- 最长连续子序列
- C. Functions again-最长连续子序列
- hdu 5256(最长上升子序列)
- 51Nod - 1241 特殊的排序(求最长连续递增子序列)
- hdu 1160 dp (二维最长上升子序列 记录路径
- hdu 1257 dp(最长下降子序列)
- HDU 3998 Sequence (最长递增子序列+最大流SAP,拆点法)经典