最長相等子串行

2021-10-11 09:23:25 字數 539 閱讀 8628

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 131072k,其他語言262144k

64bit io format: %lld

題目描述

給出乙個僅包含小寫字母的字串s,你最多可以操作k次,使得任意乙個小寫字母變為與其相鄰的小寫字母(ascii碼差值的絕對值為1),請你求出可能的最長相等子串行(即求這個字串修改至多k次後的的乙個最長子序列,且需要保證這個子串行中每個字母相等)。

#include

#include

char s[

5000

],k;

intstring2

(int k,

char

* s )

for(i=

0; i1; i++)}

} t=0;

for(i=

0;iif(maxxmaxx=t;

}return maxx;

}int

main()

動態規劃(最長相同子串行,遞增)

最長相同子串行 include string.h int main int argc,char argv printf d n f len1 len2 return 0 求最長遞增子串行 也可以先排序然後與原來的一起求最長相同子串行 include stdio.h include string.h ...

萌新關於LCS(最長相同子串行)題目彙總

lcs也是經典dp問題啦 o nm 的時間複雜度,滾動陣列優化空間複雜度 a.common subsequence poj 1458 lcs的模板題 tips 讀字串的時候是從下標為0開始的,不是1哦 include include include using namespace std char ...

記錄五 最長相同字首

寫乙個函式,在乙個字串陣列中找出最長的相同字首字串,如果沒有相同字首,返回乙個空字串 例 input flower flow flight output fl input dog racecar car output 我的思路 因為要找出陣列中所有元素的公共最長子串,所以必要遍歷所有的元素,然而,陣...