HDU1003 最长子序列和 max sum
来源:互联网 发布:网络歌手 十三电音 编辑:程序博客网 时间:2024/05/21 10:08
序列型的动态规划找状态一般考虑起始开始的点。例如这题状态是以i结尾的序列的最长子序列和dp[i]。
#include<iostream>#include<algorithm>using namespace std;#define INF 0x3f3f3f3fint dp[100001];int num[100001];int first[100001];int main(){int m;while (cin >> m){for (int k = 1; k <= m; k++){int n;cin >> n;for (int i = 1; i <= n; i++)cin >> num[i];dp[1] = num[1];int max = num[1];int maxnum = 1;first[1] = 1;for (int i = 1; i <= n; i++){if (dp[i] + num[i + 1] >= num[i + 1]){dp[i + 1] = dp[i] + num[i + 1];first[i + 1] = first[i];}else{dp[i + 1] = num[i + 1];first[i + 1] = i + 1;}if (dp[i] > max){max = dp[i];maxnum = i;}}cout << "Case " << k << ":" << endl << max << " " << first[maxnum] << " " << maxnum << endl;if (k != m) cout << endl;}}}一开始数组开小了一直超时。。。。。
0 0
- HDU1003 最长子序列和 max sum
- hdu1003 Max Sum(DP之最大子序列和)
- Max Sum(HDU1003)最大连续子序列和
- HDU1003 Max Sum(动态规划,最大子序列和)
- 动态规划:HDU1003-Max Sum(最大子序列和)
- hdu1003 Max Sum 最大连续子序列
- Max Sum hdu1003 最大子段和
- hdu1003最长连续子序列和dp
- hdu1003 Max sum&hdu1231 最大连续上升子序列
- HDU1003 Max Sum 最大子序列和的问题【四种算法分析+实现】
- hdu1003 Max Sum(最大子序列和) —— dp
- 1003 Max Sum 最长连续子序列和
- HDU 1003 Max Sum 最长连续子序列和
- HDU 1003 Max Sum(最长连续子序列和)
- Max Sum(hdu1003最大连续子串和+分治法)
- HDU1003 Max Sum(最大连续子段和)
- hdu1003 Max Sum (求连续子区间最大和)
- HDU1003 - Max Sum (最大连续子串和)
- 美食地图-兵俤粉干店
- myeclipse2015不能启动tomcat,提示: Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at local
- UVa455
- 欢迎使用CSDN-markdown编辑器
- 【读书笔记】 机器学习实战-4.7节 朴素贝叶斯 个人广告倾向
- HDU1003 最长子序列和 max sum
- 后缀树应用之寻找重复出现过的最长子串
- CentOS6.4下Mysql数据库的安装与配置
- AngularJS2
- 推送证书绑定的Bundle identifier 与Xcode中的Bundle identifier 不匹配的错误
- LeetCode 435. Non-overlapping Intervals
- YII2.0框架(三) 缓存机制yii\caching\Cache
- dubbo-hessian协议http请求
- 拉格朗日插补法总结