hdu 1087 Super Jumping! Jumping! Jumping!(连续最长递增子序列)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087

题目的大概意思就是给你n个无序的数,要求你找出递增的子序列的最大的和值,其实就是动态规划问题,我们需要计算每个当前值的最大值,然后找出最大的和值就可以了。

代码如下:

#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;;
int dp[1005];
int a[1005];
int main()
{
    int n,v,t;
    while(cin>>t&&t)
    {

        memset(dp,0,sizeof(dp));
        for(int i=0;i>a[i];
        }
        dp[0]=a[0];
        for(int i=1;ia[j])
                    dp[i]=max(dp[i],dp[j]+a[i]);
                else
                    dp[i]=max(dp[i],a[i]);
            }
        }
        sort(dp,dp+t);
        cout<

 

你可能感兴趣的:(hdu 1087 Super Jumping! Jumping! Jumping!(连续最长递增子序列))