最長連續上公升子串行:
#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...