51Nod 1154回文串劃分

2021-09-19 15:10:33 字數 677 閱讀 9523

題目鏈結

有乙個字串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位最少回文串數量

#include

#include

using namespace std;

#define maxn 5005

#include

char s[maxn]

;int dp[maxn]

;bool judge

(int start,

int end_)

else

return0;

}return1;

}int

main()

dp[0]

=0; dp[1]

=1;for

(int i=

2;i<=len;i++)}

}printf

("%d\n"

,dp[len]);

}return0;

}

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 回文串劃分

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...