回文字串(南陽oj37)(最長公共子串行問題)

2021-06-27 12:32:48 字數 732 閱讀 6319

時間限制:

3000 ms  |  記憶體限制:

65535 kb

難度:4 描述

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

輸入第一行給出整數n(0

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

樣例輸入

1

ab3bd

樣例輸出

2

**ioi 2000

上傳者

hzyqazasdf

思路:將目標串逆序,求與原串最長公共子串行長度。用目標串長度減去最長公共子串行長度即為所求。

#include#include#includeusing namespace std;

int dp[1002][1002];

int main()

{ char a[1002],s[1002];

int len,i,j,test;

scanf("%d",&test);

while(test--)

{ memset(dp,0,sizeof(dp));

scanf("%s",a);

len=strlen(a);

for(i=0,j=len-1;i

回文字串 最長公共子串行

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

nyoj 37 回文字串 最長公共子串行

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

nyoj37回文字串 最長公共子串行

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