/*回文字串
描述 所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的,比如」aba」。
當然,我們給你的問題不會再簡單到判斷乙個字串是不是回文字串。
現在要求你,給你乙個字串,可在任意位置新增字元,最少再新增幾個字元,可以使這個字串成為回文字串。
輸入 第一行給出整數n(0 < n < 100)
接下來的n行,每行乙個字串,每個字串長度不超過1000.
輸出 每行輸出所需新增的最少字元數
樣例輸入
1 ab3bd
樣例輸出
2 */
最少字元數等於字元長度減去工控子串行;
所以這題和那個求最公共子串行的題一樣,只是dp的方向不同,這題是dp從右上角走到左下角,那個題是dp從左上角走到右下角
#include
#include
int dp[1005][1005];
int main()
}printf("%d\n",len-dp[len][1]);
}return
0; }
最少新增幾個成為回文字串 nyoj36
描述 所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的,比如 aba 當然,我們給你的問題不會再簡單到判斷乙個字串是不是回文字串。現在要求你,給你乙個字串,可在任意位置新增字元,最少再新增幾個字元,可以使這個字串成為回文字串。輸入第一行給出整數n 0輸出 每行輸出所需新增的最少字元數 ...
NYOJ 37 回文字串
思想 在紙上測試幾組資料,發現先逆轉原來的字串,再用原來的字串跟逆轉後的字串進行比較,求得的最長公共子串行就是回文串,也就是不需要新增的,再用總長度減去最長公共子串行就可以得到最少需要新增的字元數。就簡單了,以前寫過的稍稍改下就直接貼上來了。include includeint f 1001 100...
nyoj 37 回文字串
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的,比如 aba 當然,我們給你的問題不會再簡單到判斷乙個字串是不是回文字串。現在要求你,給你乙個字串,可在任意位置新增字元,最少再新增幾個字元,可以使這個字串成為回文...