51nod 1154 回文串的劃分

2022-08-13 09:45:07 字數 492 閱讀 3740

但是後面我做完之後看著提。。。似乎我給寫了個on3的**。。。居然還過了。。。。

定義dp[k]代表[0,k]內劃分的子串的個數,狀態轉移為dp[j]=min(dp[k]+1(如果k,j是回文))。

#includeusing

namespace

std;

const

long

long inf=1e12+2333

;const

long

long maxn=5233

;long

long

dp[maxn];

char

str[maxn];

bool check(int pos1,int

pos2)

return

true;}

intmain()

}dp[i]=ans;

}cout

}

51nod1154回文串劃分

這道題目剛開始想錯了,本來打算每次找到最大的回文串,結果自己給自己駁倒了,比如dabbbbbdb,最長回文子串是bbbbb,結果四個落單,一共是五個,而如果把最後的bdb放在一組,就一目了然了,4個,所以這種是不行的,到底該如何做呢 dp j 代表了讀到第j個字元的時候出現的回文串最小有多少個 k ...

51nod 1154 回文串劃分

1154 回文串劃分 基準時間限制 1 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 有乙個字串s,求s最少可以被劃分為多少個回文串。例如 abbaabaa,有多種劃分方式。a bb aabaa 3 個回文串 a bb a aba a 5 個回文串 a b b a a b a a...

51Nod 1154回文串劃分

題目鏈結 有乙個字串s,求s最少可以被劃分為多少個回文串。例如abbaabaa,有多種劃分方式。a bb aabaa 3個回文串 a bb a aba a 5個回文串 a b b a a b a a 8個回文串 其中第一種劃分方式的劃分數量最少。輸入 abbaabaa 輸出 3 dp i 表示前i位...