NC13230 合併回文子串(區間dp)

2022-05-28 16:57:16 字數 462 閱讀 2377

從資料範圍不難推出可以用f,表示由兩個字串來表示的最長大小

並且因為是回文串,所以我們要向頭尾加字元,來變大,因為這個是回文子串,也就是連續的一段。

#include#include

#include

#include

#include

using

namespace

std;

const

int n=55

;char s1[55],s2[55

];int

f[n][n][n][n];

intmain()

else

if(f[l1][r1][l2][r2])

res=max(res,r1-l1+1+r2-l2+1

); }}}

}cout}}

view code

牛客NC13230 合併回文子串

題目鏈結 題目描述 輸入兩個字串a和b,合併成乙個串c,屬於a和b的字元在c中順序保持不變。如 abc 和 xyz 可以被組合成 axbycz 或 abxcyz 等。我們定義字串的價值為其最長回文子串的長度 回文串表示從正反兩邊看完全一致的字串,如 aba 和 xyyx 需要求出所有可能的c中價值最...

合併回文子串 區間dp

題目描述 輸入兩個字串a和b,合併成乙個串c,屬於a和b的字元在c中順序保持不變。如 abc 和 xyz 可以被組合成 axbycz 或 abxcyz 等。我們定義字串的價值為其最長回文子串的長度 回文串表示從正反兩邊看完全一致的字串,如 aba 和 xyyx 需要求出所有可能的c中價值最大的字串,...

區間dp 合併回文子串

dp i j k p 表示a串的 i,j 和b串的 k,p 能否通過交叉且保持原有順序不變形成回文串。4維dp,先列舉長度,再列舉位置,狀態合法則貢獻答案。include using namespace std typedef long long ll 三年競賽一場空,不開long long見祖宗 ...