HDU 1003 【DP之最大连续子序和】
来源:互联网 发布:网上电脑软件培训 编辑:程序博客网 时间:2024/06/05 00:11
机智的方法就是走一步判断一步,
sum=0,开始逐个加;
因为题中不是上升,所以只是某一段,
故如果sum为负数了,就改为0,从当前段继续向后遍历;
这里的小技巧就是输出case,用for循环可以很随意的搞定这个;
#include <bits/stdc++.h>using namespace std ;int n ,dp[100000+10],j; int first,last,temp,sum;int main(){int t ;cin>>t;for(j=1;j<=t;j++){memset(dp,0,sizeof(dp));cin>>n;for(int i = 0 ; i < n ; i++){cin>>dp[i];}sum=0;int maxsum = -100000;first=last=0;temp=1;for(int i = 0 ; i < n ; i++){sum+=dp[i];if(sum>maxsum){maxsum=sum;first=temp;//*这就是开始last=i+1;//last坐标为目前最后一个坐标}if(sum<0){sum=0;temp=i+2;//*最后一位不符合的后一位;} } printf("Case %d:\n%d %d %d\n",j,maxsum,first,last); if (j!=t) { printf("\n"); } } return 0; }
0 0
- HDU 1003 【DP之最大连续子序和】
- 最大连续子序列和(经典DP) 之 hdu 1231 最大连续子序列
- HDU 1003 Max Sum(dp,最大连续子序列和)
- HDU 1003 MAX SUM 最大连续子段和DP
- HDU 1003 Max Sum(dp,最大连续子序列和)
- 【最大连续子序列和dp】hdu 1003 Max Sum
- HDU-1003最大连续子序和
- HDU1003 最大连续子序和 DP
- HDU--1231 : 最大连续子序列 (DP求连续子序列最大和)
- HDU 1231 最大连续子序列(HDU 1003 dp)
- hdu 1231 最大连续子序列和( DP )
- HDU 2845 最大非连续子段和 二维dp
- HDU 2845 Beans(最大不连续子序列和 dp)
- HDU 1003 最大连续子段和
- hdu 1003 最大连续子序列和
- hdu 1003 Max Sum(分而治之||最大连续子序列 dp)
- HDU--dp练习--1003--最大连续子序列
- Hdu 最大连续子序列(DP)
- cvHoughLines2() 霍夫线变换
- Python爬虫入门(2):爬虫基础了解
- C#实现屏幕截图木马
- Python爬虫入门(3):Urllib库的基本使用
- 文章标题
- HDU 1003 【DP之最大连续子序和】
- 蓝桥杯 连号区间数
- 阶乘末尾0的数量(分解问题)
- Python爬虫入门(4):Urllib库的高级用法
- unity下lua.txt 在notepad++中开发环境配置
- Python爬虫入门(5):URLError异常处理
- Linux Unicode 编程
- ASIDownloadCache 设置下载缓存
- hadoop_6 : Hadoop的相关技术