求最長等值序列 (100/100 分數)
題目描述
給定乙個數列a,如果其中有一段(至少含有兩個元素)序列裡面的元素都相等,則稱這段序列為等值序列。我們的任務是求最長的等值序列
輸入描述
第一行是數列的長度n,n<=50
第二行是n個數字
輸出描述
輸出最長等值序列在原始數列中的起始位置和末位置,數列的起始下標為0;
若有多個最長等值序列,輸出第乙個最長等值序列的起始位置和末位置;
若沒有等值序列,輸出"no answer."
樣例輸入
21 2
51 1 3 1 1
樣例輸出
no answer.
0 1
#include #include #include using namespace std;
int main()
int start=0, end=0, max_num=1;//記錄相等序列起始位置、末尾位置、最長序列長度
for(int i=0; imax_num)
} }if(max_num==1)
else
return 0;
}
求最長遞減子串行
先將乙個字串拷貝到另乙個字串內,然後排序。在和原串找lcs。本題 創新工場。它給的結果為95432,而本 跑出來的結果是94432.都滿足遞減條件。但是題的答案是嚴格遞減的。這裡應該怎麼考慮呢?void printlcs string s1,string s2,vector b elseelse i...
求公共最長子序列
最長公共子串行的問題常用於解決字串的相似度,是乙個非常實用的演算法,作為碼農,此演算法是我們的必備基本功。二 概念 舉個例子,cnblogs 這個字串中子序列有多少個呢?很顯然有2 7個,比如其中的cb,cgs等等都是其子序列,我們可以看出 子串行不見得一定是連續的,連續的那是子串。在你找出的公共子...
求最長不下降序列
求最長不下降序列 time limit 1000ms memory limit 65536k total submit 398 accepted 171 description 設有n n 1000 個不相同的整數 小於32767 組成的數列,記為 a1,a2,an,其中任意兩個數不相同。例如 3,...