动态规划专项训练(2)
来源:互联网 发布:jquery get json 编辑:程序博客网 时间:2024/05/16 17:14
持续更新中…
题目:A - Max Sum
题解:
arr[maxn]是存放数据;
dp[maxn]是动态存放arr[maxn]从第i个值及之后相加的和;
(输出:最大的和,开始的地址,结束的地址)
#include<cstdio>#include<cstring>#define maxn 100010const int INF = -1e4;int arr[maxn];int dp[maxn];int cas = 1;int main(){ int t; scanf("%d",&t); while(t--) { int maxnum = INF,start = 0,endnum = 0; int first = 0,last = 0; int n; scanf("%d",&n); memset(arr,0,sizeof(arr)); memset(dp,0,sizeof(dp)); for(int i=0;i<n;i++) { scanf("%d",&arr[i]); } dp[0] = arr[0]; for(int i=0;i<n;i++) { if(dp[i-1] + arr[i] >= arr[i]) { dp[i] = dp[i-1] + arr[i]; endnum = i; } else { dp[i] = arr[i]; start = i; endnum = i; } if(dp[i] > maxnum) { maxnum = dp[i]; first = start; last = endnum; } } printf("Case %d:\n",cas++); printf("%d %d %d\n",maxnum,first+1,last+1); if(t != 0) //注意题目的描述 { printf("\n"); } } return 0;}
阅读全文
0 0
- 动态规划专项训练(2)
- 动态规划专项训练(1)
- 动态规划专项练习(2017082899)
- 动态规划训练(2)
- 动态规划专项intermediate:UVa 10271
- 动态规划专项intermediate:UVa 10304
- 动态规划专项intermediate:UVa 11600
- 动态规划专项intermediate:UVa 10934
- 动态规划专项intermediate:UVa 10981
- 动态规划专项intermediate:UVa 12002
- 动态规划专项intermediate:UVa 10688
- 动态规划专项intermediate:LA 4015
- 动态规划专项intermediate:UVa 11766
- 动态规划专项intermediate:UVa 11400
- 动态规划专项intermediate:LA 4490
- 动态规划专项intermediate:LA 4327
- 动态规划专项intermediate:UVa 10599
- 动态规划专项advanced:LA 4394
- Lint Code 二叉树中的最大路径和
- 「python」函数使用注意事项
- java 图形用户界面 swing 之 复选框 及示例程序
- 关于AngularJS的系列
- MySQL的btree索引和hash索引的区别
- 动态规划专项训练(2)
- GSensorView自动感应的View
- 深度学习笔记(九)AutoEncoder自动编码器
- Canvas和Bitmap的关系
- 关于android5.0以上逐帧动画不能正常播放解决办法
- meta常用标签总结
- VS2015的stdlib库qsort函数的一个bug
- 【POJ】2348
- ASM Bytecode Framework探索与使用