回文字串(DP)

2021-09-12 05:27:31 字數 543 閱讀 8356

時間限制:3000 ms  |  記憶體限制:65535 kb

難度:4

描述所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的,比如"aba"。當然,我們給你的問題不會再簡單到判斷乙個字串是不是回文字串。現在要求你,給你乙個字串,可在任意位置新增字元,最少再新增幾個字元,可以使這個字串成為回文字串。

輸入

第一行給出整數n(0

輸出每行輸出所需新增的最少字元數

樣例輸入

1

ab3bd

樣例輸出

2

思路:將原字串反過來,求原字串和反字串的最長公共子串行,總長度減去最長子序列長度則為所求。

wa:

#include#includeint main()

printf("%d\n",sum-num[sum][sum]);

}return 0;

}

總結:

1.思考清楚求什麼,思考有漏洞;

2.最長公共子串行不熟悉。

回文字串(DP)

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的,比如 aba 當然,我們給你的問題不會再簡單到判斷乙個字串是不是回文字串。現在要求你,給你乙個字串,可在任意位置新增字元,最少再新增幾個字元,可以使這個字串成為回文字...

DP入門 回文字串

題目來自nyist第37題,如下 描述 所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的,比如 aba 當然,我們給你的問題不會再簡單到判斷乙個字串是不是回文字串。現在要求你,給你乙個字串,可在任意位置新增字元,最少再新增幾個字元,可以使這個字串成為回文字串。輸入第一行給出整數n 0每...

uva10739 DP 回文字串

題目的意思就是給你乙個字串,問你最少經過幾次操作,能把它變成回文字串 操作有三種 在任意位置新增乙個字元 在任意位置刪除乙個字元 替換掉任意乙個字元 首先我們的 是指,將 到 之間的這個串變成回文最少要幾步 我們可以發現 如果第 個字元,和第 個字元,是相同的 難麼 也就是不管這兩個相同的,往裡面縮...