HDU 1257 (最大上升子序列)
2013-03-12 14:30
323 查看
思路:求最大上升子序列:由于是每套拦截系统以后每一发炮弹都不能超过前一发的高度,所以对于后面一发比前面高的炮弹,必须需要新的拦截系统来处理(击下前面较低炮弹的系统已经无法拦截)。所以需要的拦截系统数量至少是最大上升子序列的长度。
#include <iostream> using namespace std; const int maxn=10000+10; int a[maxn],dp[maxn]; int main() { int n; while(cin>>n) { int x; for(int i=0;i<n;i++) { cin>>a[i]; dp[i]=0; for(int j=0;j<i;j++) if(a[i]>a[j]&&dp[j]>dp[i]) dp[i]=dp[j]; dp[i]++; } int ans=0; for(int i=0;i<n;i++) if(ans<dp[i]) ans=dp[i]; cout<<ans<<endl; } return 0; }
相关文章推荐
- hdu 3998 (最长上升子序列+最大流)
- hdu 1160 FatMouse's Speed(最大上升子序列+路径输出)
- HDU 1087 Super Jumping! Jumping! Jumping! (线性dp 最大上升子序列)
- HDU 1087 Super Jumping! Jumping! Jumping!(求最大上升子序列和)
- HDU-1257 最少拦截系统 贪心/DP 最长上升子序列的长度==最长不上升子序列的个数?
- hdu 1087 最大上升子序列
- HDU 1257 最少拦截系统(最长上升子序列+贪心)
- HDU 1087.Super Jumping! Jumping! Jumping!【最大上升子序列和】【1月2】
- HDU 1087 Super Jumping! Jumping! Jumping! --- DP入门之最大上升子序列
- hdu 1025 最大上升子序列
- (hdu step 3.2.3)Super Jumping! Jumping! Jumping!(DP:求最长上升子序列的最大和)
- 算法代码hdu 1025(最大上升子序列的n*logn解法)
- hdu 1160 FatMouse's Speed(最大上升子序列dp)
- hdu 1257 最长上升子序列问题
- hdu 1087 Super Jumping! Jumping! Jumping!(LIS变形题,求上升子序列的最大和)
- HDU 1257 最长上升子序列
- 【hdu 1257】最少拦截系统(LIS最长上升子序列)
- Hdu 1087 Super Jumping! Jumping! Jumping!【最大上升子序列和】
- HDU 1257(贪心;动态规划(最长上升子序列))
- HDU 1257 最少拦截系统 dp 最长上升子序列