hdu 1422(环上最长连续子序列)
2014-05-26 17:59
218 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1422
View Code
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 using namespace std; 6 #define MAXN 222222 7 int level[MAXN]; 8 int dp[MAXN]; 9 int n,w,l; 10 11 int main(){ 12 while(~scanf("%d",&n)){ 13 int st=0,ans=0,now=0; 14 memset(dp,0,sizeof(dp)); 15 for(int i=1;i<=n;i++){ 16 scanf("%d%d",&w,&l); 17 level[i]=level[i+n]=w-l; 18 } 19 for(int i=1;i<=2*n;i++){ 20 if(now+level[i]>=0){ 21 now+=level[i]; 22 dp[i]=dp[i-1]+1; 23 //最多n个城市 24 if(i-st==n){ 25 ans=max(ans,dp[i]); 26 break; 27 } 28 }else { 29 now=0,st=i;//注意这里st应该改为i. 30 dp[i]=0; 31 ans=max(ans,dp[i-1]); 32 } 33 } 34 printf("%d\n",ans); 35 } 36 return 0; 37 }
View Code
相关文章推荐
- hdu 1422(环上最长连续子序列)
- HDU 3308——LCIS(线段树,区间合并,最长连续递增子序列)
- HDU 1231 (最长连续子序列)
- HDU 3308 LCIS(最长连续上升子序列)(线段树区间合并)
- HDU 3308 线段树。。最长连续上升子序列
- HDU 1003 Max Sum 最长连续子序列和
- HDU 1422 重温世界杯【最长非负连续子序列】
- hdu 3308 线段树-区间连续最长上升子序列
- HDU 3308 LCIS(最长连续上升子序列)
- HDU 1003 Max Sum(最长连续子序列和)
- HDU 1422重温世界杯 (环形)最长连续子段 由最大连续子段和变形的到
- HDU 3308 线段树单点更新+区间查找最长连续子序列
- 线段树区间合并+最长连续递增子序列——HDU 3308
- 动态规划之编号动态规划:hdu 1025(dp+二分 求最长上升子序列)
- HDU-1257--最少拦截系统--最长上升子序列
- 最长上升子序列(非连续)
- POJ - 2533 Longest Ordered Subsequence —— 最长不连续上升子序列
- hdu 1160 FatMouse's Speed(最长上升子序列路径输出)
- hdu 1423(最长公共递增子序列)
- HDU 1160(记录路径的最长上升子序列)