用陣列b[0...n-1]記錄a[i](0<=i<=n-1)為結尾元素的最長遞增子串行的長度;
序列a中的最長自增子序列的長度為 max(b[i])。
//求最長單調遞增子串行#include#define maxn 20
void disp(int a,int b,int k)
} printf("%d ",a[k]);
}int maxl(int b,int n)
} return k;
}void maxsubseq(int a,int b,int n)
} int main();
int b[maxn];
int n = 8,k;
maxsubseq(a,b,n);
k = maxl(b,n);
printf("最長單調遞增子串行最後元素下標k=%d\n",k);
printf("最長單調遞增子串行:");
disp(a,b,k);
printf("\n");
return 0;
}
求最長單調遞增子串行
問題描述 設計乙個時間的演算法,找出由n個數組成的最長單調遞增子串行。演算法描述 演算法實現 includestruct date void ascorder struct date a,int n 輸出最長單調遞增子串行 找到最長單調遞增子串行開始的單元 int max 0 intfore for...
最長單調遞增子串行及思維題 動態規劃
1.dp陣列的作用 我們在這裡定義乙個陣列dp maxn 子串行的意思是可以不連續,那麼不就存在乙個問題,問題是,到底誰選誰不選,那麼我們定義的dp陣列的意思就是 第i數字一定在回文串中,那麼此時前i個數字中到底最長單調遞增子串行多長。2.動態規劃的動態方程 我們dp陣列定義的近乎完美 includ...
網路流24題6 最長遞增子串行
給定正整數序列x1,xn 1 計算其最長遞增子串行的長度s。2 計算從給定的序列中最多可取出多少個長度為s的遞增子串行。3 如果允許在取出的序列中多次使用x1和xn,則從給定序列中最多可取出多少個長度為s的遞增子串行。設計有效演算法完成 1 2 3 提出的計算任務。第一問秒掉 第二問比較難想到,每個...