構造回文 簡單DP

2021-09-01 06:23:56 字數 740 閱讀 9212

構造回文

時間限制:1秒

空間限制:32768k

給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?

輸出需要刪除的字元個數。

輸入描述:

輸入資料有多組,每組包含乙個字串s,且保證:1<=s.length<=1000.

輸出描述:

對於每組資料,輸出乙個整數,代表最少需要刪除的字元個數。

輸入例子1:

abcda

google

輸出例子1:

2

2

題意:給定乙個串,求最長回文子串行

思路: 等價求s串和s反轉串的最長公共子串行。。。好弱智啊wocao

#includetypedef long long ll;

using namespace std;

const int n=1000+5;

char s[n];

char s1[n];

ll dp[n][n];

int main(void)

for(int i=1;i<=n;i++)}}

printf("%lld\n",1ll*n-dp[n][n]);

}return 0;

}

構造回文串

給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組資料,輸出乙個整數,代表最少需要刪除的字元個數。輸入例子 abcda goo...

構造回文 最長回文子串

題目 給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。1 s.length 1000。輸入 abcda google 輸出 2 2思路 我本沒有思路 回文串的特點是正著讀和反著讀一樣,假設原來字串是s,求它的反串,然後再找到它們...

程式設計題 構造回文

給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組資料,輸出乙個整數,代表最少需要刪除的字元個數。輸入例子 abcda goo...