pku1887 最长递减子序列
2009-11-18 21:04
155 查看
利用动态规划来计算最长递减子序列。
dp[i]为以h[i]结尾的最长递减子序列的长度
dp[i]为以h[i]结尾的最长递减子序列的长度
#include <iostream> using namespace std; int h[10000]; int dp[10000]; #define max(a,b) ((a)>(b)?(a):(b)) int main() { int len, next, ans, i, j, count=0; while (cin>>h[0] && h[0]!=-1) { count++; i = 0; ans = 1; while (cin>>h[++i] && h[i]!=-1); len = i; memset(dp, 0, sizeof(dp)); dp[0] = 1; for (i=1; i<len; i++) { for (j=0; j<i; j++) if (h[i]<=h[j] && dp[i]<dp[j]+1) dp[i] = dp[j] + 1; dp[i] = max(dp[i], 1); ans = max(ans, dp[i]); } if (count != 1) cout << endl; cout << "Test #" << count << ":/n" << " maximum possible interceptions: " << ans << endl; } }
相关文章推荐
- NYOJ 题目79 拦截导弹 (dp,最长单调递减子序列)
- poj1952 BUY LOW, BUY LOWER(最长递减子序列及个数)
- 计蒜客 2017icpc南宁赛区 The Heaviest Non-decreasing Subsequence Problem 最长不递减子序列
- 动态规划——数组中最长递减子序列
- 动态规划——数组中最长递减子序列
- 求一个整数数组最长递减子序列
- 最长递减子序列
- POJ 1552 BUY LOW, BUY LOWER(最长单调递减子序列求方案数)
- 微软100题(47)最长递减子序列
- Testing the CATCHER - POJ 1887 最长递减子序列
- 动态规划——数组中最长递减子序列
- 写正确函数需要注意的地方:最长递减子序列
- 计蒜客——求数组最长递减子序列
- 两个问题:n对括号有多少种匹配方式与与最长递减子序列
- HDU 1069 Monkey and Banana(最长递减子序列)
- 第四十七题(求最长递减子序列)
- 最长递增/递减子序列
- poj 1952 最长递减子序列+求个数
- POJ 1952 LITTLE SHOP OF FLOWERS(DP动归,最长递减子序列)
- 最长递减子序列