1576 最长严格上升子序列

来源:互联网 发布:java爬虫和python爬虫 编辑:程序博客网 时间:2024/05/16 12:26

题目描述 Description

给一个数组a1, a2 … an,找到最长的上升降子序列ab1

输入描述 Input Description

第一行,一个整数N。

第二行 ,N个整数(N < = 5000)

输出描述 Output Description

输出K的极大值,即最长不下降子序列的长度

样例输入 Sample Input

5

9 3 6 2 7

样例输出 Sample Output

3

按自己的思路随便写了一个

#include<iostream>using namespace std;int main(){    int N;    cin>>N;    int num[5010]= {0};    for(int i=0; i<N; i++)  cin>>num[i];    int dp[5010]= {0};    dp[0]=1;    int result=0;    for(int i=1; i<N; i++)    {        int max1=1;        for(int j=0;j<i;j++)        {            if(num[i]>num[j])   max1=max(max1,dp[j]+1);        }        dp[i]=max1;        if(result<dp[i])    result=dp[i];    }    cout<<result<<endl;    return 0;}

一点想法:
找最长严格上升子序列的时候,要注意最终的结果不是在dp[num-1]处取得
因为最后一个数可能非常非常小
这个结果应该是整个程序在运行的时候所产生的最大值
这里的动态规划中,dp不都是存的最长子序列长度
只有那些特别大的数据点上,dp存储的才是有用的

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 少精的病因 无精少精 少精的原因有什么 少精死精 男性弱精少精的原因 少精的原因 少精原因 得少精原因有那些 无精和少精 弱精少精怎么办 少精无精怎么办 少精程度 稀精液 无精症原因 畸形精子症 精子有多少 带血精液 精子稀少 精子弱 无精症症状 精液质量分析 精子检测 吃什么杀精子 男性吃什么对精子好 少羽 项少羽 少艾 少霞 女友少霞 老婆少霞 少霞和货车司机番外 少霞与春晖番外 少顷 少顷的近义词 顷读音 顷的读音 顷组词 良田千顷 k顷道 顷拼音