求最長等值序列

2021-08-21 13:40:53 字數 614 閱讀 7621

求最長等值序列 (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,...