最長上公升子串行的個數

2021-07-11 12:46:33 字數 700 閱讀 5852

注意:這裡要求值不同。

先去重,去掉連續一段相同的數字,只保留乙個,儲存在陣列 a 裡,並用陣列 c[i] 表示a[i] 在原始資料中連續出現的個數。

用 f[i] 表示陣列 a 中以a[i] 為結尾的最長上公升子串行的長度是多少;用g[i] 表示陣列a中以a[i]為結尾的最長上公升子串行的個數。

在處理 f[i] 的時候,如果滿足 j

#include using namespace std;

int main()

; int c[1010] = ;

cin>>n;

n++;

a[1] = (1<<31);c[1] = 1; tot = 1;

for (int i=2; i<=n; i++) //輸入,同時去重

else

}int f[1010] = ;

int g[1010] = ;

int pos = 0;

int max = 0;

int ans = 0;

int s = 0;

f[1] = 1; g[1] = 1;

for (int i=2; i<=n; i++)

if (f[j]+1 > max)

}f[i] = max;

if (f[i] > ans)

else if (f[i] == ans)

}cout<

leetcode最長上公升子串行的個數

1.動態規劃 此題和上一題的解法基本一樣 設dp len dp i 表示以nums i 結尾的最長子序列的長度 設count len count i 表示以nums i 結尾的長度為dp i 的序列個數 對於dp i 的求法,仍然是dp i dp j 1中的最大值,不過在這裡需要區分情況 對於i j...

最長上公升子串行

問題描述 乙個數的序列bi,當b1 b2 bs的時候,我們稱這個序列是上公升的。對於給定的乙個序列 a1,a2,an 我們可以得到一些上公升的子串行 ai1,ai2,aik 這裡1 i1 i2 ik n。比如,對於序列 1,7,3,5,9,4,8 有它的一些上公升子串行,如 1,7 3,4,8 等等...

最長上公升子串行

最長上公升子串行問題是各類資訊學競賽中的常見題型,也常常用來做介紹動態規劃演算法的引例,筆者接下來將會對poj上出現過的這類題目做乙個總結,並介紹解決lis問題的兩個常用 演算法 n 2 和 nlogn 問題描述 給出乙個序列a1,a2,a3,a4,a5,a6,a7.an,求它的乙個子串行 設為s1...