动态规划复习-HDU1087
2012-02-09 19:11
218 查看
找到一个上升子序列,和最大。注意取值可能为负数。
#include int n; int a[1001], dp[1001]; int main() { while (scanf("%d", &n)) { if (0 == n) break; for (int i = 1; i <= n; ++i) scanf("%d", &a[i]); int m = -1000000; for (int i = 1; i <= n; ++i) { dp[i] = a[i]; for (int j = 1; j < i; ++j) { if (a[i] > a[j] && dp[i] < dp[j] + a[i]) dp[i] = dp[j] + a[i]; } if (dp[i] > m) m = dp[i]; } printf("%d\n", m); } return 0; }
相关文章推荐
- 算法复习之动态规划_03
- [NOIP复习]第三章:动态规划
- 动态规划复习-HDU1231
- 动态规划复习-HDU1081
- 动态规划:划分数 复习
- [NOIP 2014复习]第三章:动态规划——NOIP历届真题回顾
- 动态规划复习-HDU1159
- Hdu1087-Super Jumping! Jumping! Jumping!-【dp动态规划】
- [WC 2015复习](五)动态规划
- 【算法复习二】货郎担(旅行售货商)动态规划
- [NOIP 2014复习]第三章:动态规划——NOIP历届真题回想
- 动态规划:HDU1087-Super Jumping! Jumping! Jumping!(最大上升子序列和)
- 动态规划复习-HDU2084
- C++之动态规划复习
- 动态规划:01背包 复习
- NYOJ 18 The Triangle (动态规划复习)
- NOIP专题复习——专题二:动态规划基础
- 【20141015】对NOIP所涉及的动态规划知识复习
- NYOJ171 聪明的kk (动态规划复习)
- 【算法复习二】货郎担(旅行售货商)动态规划