回文詞是一種對稱的字串。任意給定乙個字串,通過插入若干字元,都可以變成回文詞。此題的任務是,求出將給定字串變成回文詞所需要插入的最少字元數。
比如 「ab3bd」插入2個字元後可以變成回文詞「dab3bad」或「adb3bda」,但是插入少於2個的字元無法變成回文詞。
注:此問題區分大小寫
輸入格式:
乙個字串(0
輸出格式:
有且只有乙個整數,即最少插入字元數
輸入樣例#1:
ab3bd
輸出樣例#1:
2
#include #include using namespace std;
char a[1005];
char b[1005];
int dp[1005][1005];
int n;
void hs()
}int main()
{ int i;
cin>>a+1;
n=strlen(a+1);
for(i=1;i<=n;i++)
b[i]=a[n+1-i];
hs();
cout<
字串從0開始,bug,0的位置留出來。
做題:30分鐘
找坑:(a+1)
2小時!!!
P1435 回文字串(區間dp)
題目背景 ioi2000第一題 題目描述 回文詞是一種對稱的字串。任意給定乙個字串,通過插入若干字元,都可以變成回文詞。此題的任務是,求出將給定字串變成回文詞所需要插入的最少字元數。比如 ab3bd 插入2個字元後可以變成回文詞 dab3bad 或 adb3bda 但是插入少於2個的字元無法變成回文...
Luogu P1435 回文字串 解題報告
主要大衣大意 給定乙個字串,求至少加入多少個字元才能使字串變成回文字串 下面就是我一本正經的胡說八道題解 很顯然,這應該是一道典型的最長公共子串行的題目 因此,主要思想就是dp 方程式也挺好推的 於是我們就來講一下為什麼這題能用最長公共子串行 lcs 求解 求的是什麼?想要使這個字串加入最少的字元變...
IOI2000 洛谷1435 回文字串
回文詞是一種對稱的字串。任意給定乙個字串,通過插入若干字元,都可以變成回文詞。此題的任務是,求出將給定字串變成回文詞所需要插入的最少字元數。比如 ab3bd 插入2個字元後可以變成回文詞 dab3bad 或 adb3bda 但是插入少於2個的字元無法變成回文詞。注 此問題區分大小寫 第一行乙個整數n...