假的動態DP 最長序列

2021-08-15 06:08:32 字數 619 閱讀 4297

最長連續上公升子串行:

#include

int main()

int a[100],dp[100],i,j,n,x=0,max;

scanf("%d",&n);

for(i=0;i//輸入陣列,並初始化

dp的值;

scanf("%d",&a[i]);

dp[i]=1;

for(i=1;i//把每個數與前面的數進行比較;

for(j=x;j//比較上次降序的數到

i;把到第

i個數有幾個連續上公升序列記錄在

dp[i]

中;

if(a[i]>a[j])

if(dp[j]+1>dp[i])

dp[i]=dp[j]+1;

else

dp[i]=dp[i];

if(a[i]//如果降序,則把

i的值改為這個數;

if(i==1) max=dp[i];/

/選出dp

中的最大值;

else

if(maxmax=dp[i];

printf(「%d」,max);

DP 4 最長序列型

求乙個序列中乘積最大的連續子串行的值.狀態 f i 最後乙個元素為a i 的連續子串行的最大值.因為在乘積中乙個負數乘以負數為大的正數,所以連續子串行的最小值也是當前狀態 g i 最後乙個元素為a i 的連續子串行的最小值.初始條件 f 0 a 0 g 0 a 0 轉移方程 f i max max ...

Dilworth定理的應用和最長??序列

有這麼乙個題目 飛彈攔截 問題描述 某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於前一發的高度。某天,雷達捕捉到敵國的飛彈來襲。由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的飛...

連續正面的最長序列問題

設想你拋一枚硬幣n次,你期望看到的連續正面的最長序列是多長?這是演算法導論第四章裡的乙個問題,今天看了好久,才明白過來,在這裡做個記錄。書上從兩個不同的角度分析了這個問題,乙個是從概率的角度,通過計算這個序列長度的上界和下界推導出序列長度,乙個是利用書上所說的指示隨機變數 indicator ran...