C++最长上升子序列(长度+序列)

2021-01-30 14:15

阅读:516

标签:img   一个   info   i++   需要   names   space   出现   --   

题目:
技术图片
类似题目很多,换汤不换药
分析:
对于一组数据来说,每个元素都可能是上升子序列的尾元素,只需要知道该元素前面上升子序列长度+1就ok了
以(1,7,3,5,9,4,8)来说:
f[0]=1,f[1]=2,f[2]=2,f[3]=3,f[4]=4,f[5]=3,f[6]=4;
最长上升子序列长度
#include 
#include 
#include 
using namespace std;
int main()
{
    int n;
    while(cin>>n)
    {
        vector v(n);
        for(int i=0;i>v[i];
        vector temp(n,1);
        int maxNum=1;
        for(int i=1;i

最长上升子序列--序列

#include 
#include 
#include 
using namespace std;
int main()
{
    int n;
    while (cin >> n)
    {
        vector v(n);
        for (int i = 0; i> v[i];
        vector temp(n, 1);

        for (int i = 1; imaxNum)//判断哪个结尾元素所出现的升序子序列最长
            {
                maxNum = temp[i];
                index = i;
            }
        }
        cout  data(maxNum+1,0);//保存序列元素
        for (int i = 1; i 

C++最长上升子序列(长度+序列)

标签:img   一个   info   i++   需要   names   space   出现   --   

原文地址:https://blog.51cto.com/14233078/2492122


评论


亲,登录后才可以留言!