OpenJudge 2757 最长上升子序列 / Poj 2533 Longest Ordered Subsequence
生活随笔
收集整理的這篇文章主要介紹了
OpenJudge 2757 最长上升子序列 / Poj 2533 Longest Ordered Subsequence
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.鏈接地址:
http://poj.org/problem?id=2533
http://bailian.openjudge.cn/practice/2757
2.題目:
總Time Limit:你的任務(wù),就是對(duì)于給定的序列,求出最長(zhǎng)上升子序列的長(zhǎng)度。
3.思路:
動(dòng)態(tài)規(guī)劃模板題
注意最后的最大上升子序列是整個(gè)dp數(shù)組的最大值,不是dp數(shù)組最后的值
4.代碼:
1 #include <iostream> 2 #include <cstdio> 3 4 using namespace std; 5 6 int main() 7 { 8 //freopen("C://input.txt","r",stdin); 9 10 int n;//1 <= n <= 1000 11 cin >> n; 12 13 int i,j; 14 15 int *arr = new int[n]; 16 int *dp = new int[n]; 17 18 for(i = 0; i < n; ++i) cin >> arr[i]; 19 20 //dp 21 dp[0] = 1; 22 for(i = 1; i < n; ++i) 23 { 24 dp[i] = 1; 25 for(j = 0; j < i; ++j) if(arr[j] < arr[i] && dp[j] + 1 > dp[i]) dp[i] = dp[j] + 1; 26 } 27 28 int max = 1; 29 for(i = 0; i < n; ++i) if(dp[i] > max) max = dp[i]; 30 cout << max << endl; 31 32 return 0; 33 }?
轉(zhuǎn)載于:https://www.cnblogs.com/mobileliker/p/3574297.html
總結(jié)
以上是生活随笔為你收集整理的OpenJudge 2757 最长上升子序列 / Poj 2533 Longest Ordered Subsequence的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows添加在此处打开命令CMD
- 下一篇: yum与rpm的使用