jobdu 1480 最大上升子序列和结题报告 动态规划问题
2014-02-22 16:23
435 查看
题目链接:http://ac.jobdu.com/problem.php?pid=1480
动态规划问题,最主要的就是搞清楚递推的关系,在此定义节点的两个参数 data=值,max=以该数结尾的最大子序列和。对每个数依次向前搜索确定该数的max值。具体方法参看代码。
欢迎关注微信公众号,一起学习!
动态规划问题,最主要的就是搞清楚递推的关系,在此定义节点的两个参数 data=值,max=以该数结尾的最大子序列和。对每个数依次向前搜索确定该数的max值。具体方法参看代码。
#include <stdio.h> typedef struct{ int data; int max; //到该数为止的最大子序列和 }nodetype; int main(){ nodetype num[1001]; int m; int max; int maxtemp; while(scanf("%d",&m)!=EOF){ for(int i=0;i<m;i++){ scanf("%d", &num[i].data); num[i].max=num[i].data; } for(int i=1;i<m;i++){ maxtemp=num[i].max; for(int j=i-1;j>=0;j--){ if(num[j].data<num[i].data){ if((num[i].max+num[j].max)> maxtemp){ maxtemp=num[i].max+num[j].max; } } } num[i].max=maxtemp; } max=num[0].max; for(int i=0;i<m;i++){ if(num[i].max>max) max=num[i].max; } printf("%d\n", max); } return 0; }
欢迎关注微信公众号,一起学习!
相关文章推荐
- 题目1480:最大上升子序列和:动态规划
- 九度 1480:最大上升子序列和(动态规划思想求最值)
- uva 11400 - Lighting System Design(动态规划 最长上升子序列问题变型)
- 动态规划―最大上升子序列和
- 算法基础之python实现动态规划中数字三角形和最长上升子序列问题
- 动态规划----最长上升子序列问题
- 动态规划之最大公共序列+最长上升子序列
- uva 11400 - Lighting System Design(动态规划 最长上升子序列问题变型)
- 动态规划:HDU1087-Super Jumping! Jumping! Jumping!(最大上升子序列和)
- Leetcod-300_最长上升子序列LIS-基础动态规划问题-【C++】
- 动态规划经典问题 最长上升子序列poj2533
- 动态规划 ② HDU - 1087 Super Jumping! Jumping! Jumping! (LIS 最大上升子序列)
- 动态规划-3003-序列的最大上升子序列
- 动态规划:最大上升子序列和
- 动态规划之最大字段和问题
- 算法学习之动态规划--最长上升子序列
- HDU1087--Super Jumping! Jumping! Jumping! (DP动态规划最大上升子序列的和)
- 动态规划----求最长上升子序列
- 动态规划 最长上升子序列
- 动态规划:最长上升子序列