cogs1398 最长上升子序列 动态规划初级
2017-04-30 20:34
211 查看
本宝宝写动态规划的第一道题=.=
写完就比较傻了...(大概的确是我比较水)
cogs原题:点击打开链接
基本动态规划思路:
搜索整个序列:对于每个数据pos,寻找前面的数据x,如果前面某个数据x小于当前数据pos,f【pos】取f【x】+1和f【pos】的最大值。
注意:1、别忘了初始化!!!!!(因为我曾经懵懂无知就没有写...)
2、ans的更新!!!
没错,这是个O(n^2)的算法,然后又学到了大牛的更快的算法~~
写完就比较傻了...(大概的确是我比较水)
cogs原题:点击打开链接
基本动态规划思路:
搜索整个序列:对于每个数据pos,寻找前面的数据x,如果前面某个数据x小于当前数据pos,f【pos】取f【x】+1和f【pos】的最大值。
注意:1、别忘了初始化!!!!!(因为我曾经懵懂无知就没有写...)
2、ans的更新!!!
#include<algorithm> #include<iostream> #include<cstring> #include<cstdio> using namespace std; const int NUM(1010); int a[NUM],f[NUM],n; int main() { scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&a[i]); f[i]=1; //注意① } int ans=1; for(int i=2;i<=n;i++) for(int j=1;j<i;j++) if(a[j]<a[i]) { f[i]=max(f[j]+1,f[i]); ans=max(ans,f[i]); //注意② } printf("%d",ans); }
没错,这是个O(n^2)的算法,然后又学到了大牛的更快的算法~~
相关文章推荐
- SDUT_最长上升子序列长度_动态规划
- 最长上升子序列(动态规划)
- 动态规划 最长上升子序列 nlogn
- NOI 1759:最长上升子序列(C++) 动态规划
- 波浪子序列 Wavio Sequence UVA10534 动态规划 最长上升子序列变形
- Longest Ordered Subsequence 【poj-2533】【动态规划-最长上升子序列】
- 波浪子序列 Wavio Sequence UVA10534 动态规划 最长上升子序列变形
- 最长上升子序列(LIS)的O(nlogn) & O(n^2)算法 - 动态规划
- 最长上升子序列(动态规划)
- 【动态规划】【二分】【最长上升子序列】Vijos P1028 魔族密码
- HDU 1257 最少拦截系统(最长上升子序列 动态规划(DP))
- 动态规划入门 COGS1398 最长上升子序列
- 【动态规划】【最长上升子序列】【贪心】bzoj1046 [HAOI2007]上升序列
- Super Jumping! Jumping! Jumping! 【hdu-1087】【动态规划-最长上升子序列】
- 夕拾算法进阶篇:14)最长上升子序列(动态规划DP)
- 最长上升子序列 动态规划 dp
- joj 2529 Chorus 动态规划 最长上升子序列和最长下降子序列
- 百炼-2757-最长上升子序列-动态规划
- POJ 2533 最长上升子序列 [动态规划 + 二分搜索]
- 动态规划--最长上升子序列问题(LIS) O(n^2) ,O(nlogn)