1003-C专题三
来源:互联网 发布:人员优化方案 编辑:程序博客网 时间:2024/05/21 02:33
1.题号:1003-C
2.题意:其实就是最大递增子段和
3 1 3 2 1+3=4
4 1 2 3 4 1+2+3+4=10
4 3 3 2 1 3=3
3.思路:状态方程:sum[j]=max{sum[i]}+a[j]; 其中,0<=i<=j,a[i]<a[j] ,
dp[i]表示以i节点为终点,获得总分最大的值 。
4.感想:这道题跟一道给出一串数字,求和最大的子序列的题很相似,只不过那道题是求和,这道题试求递增的,想法很相似。
#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;int a[1005],dp[1005];const int inf = 999999999;int main(){ int n,i,t,m,j,ans; while(~scanf("%d",&n),n) { memset(dp,0,sizeof(dp)); for(i = 1;i<=n;i++) scanf("%d",&a[i]); for(i = 1;i<=n;i++) { ans = -inf; for(j = 0;j<i;j++) { if(a[i]>a[j]) ans = max(ans,dp[j]); } dp[i] = ans+a[i]; } ans = -inf; for(i = 0;i<=n;i++) { if(dp[i]>ans) ans = dp[i]; } printf("%d\n",ans); } return 0;}
0 0
- 1003-C专题三
- 专题三 Problem C
- 专题三1003
- C语言 作业三 数组专题
- 嵌入式C语言专题三:屏幕操作篇
- 嵌入式C语言专题三:屏幕操作篇
- c 专题
- 2016sdau课程练习专题三 1003
- 3G专题三
- LDAP专题(三)
- IPV6专题(三)
- 专题三1006
- 专题三1001
- 专题三 第一题
- 专题三 第二题
- 专题三 第三题
- 专题三 第四题
- 专题三1012
- iOS 25个性能优化/内存优化常用方法
- Java字符判断
- Java编码问题汇总
- 对spring中AOP的理解(事务管理)
- 通过在使用ids.xml管理资源ID来提高效率
- 1003-C专题三
- 拆装箱 == 与equals int 和Integer 堆和栈
- 异或运算
- 线性表的操作 (2.1) C = A U B
- javaweb学习总结(五)——Servlet开发(一)
- Mybatis_PageHelper的使用
- 读取与解析json类型数据
- Linux/Mac 下 vi 命令
- UVa 11827 Maximum GCD