1154 回文串劃分(dp)

2021-08-24 17:26:50 字數 939 閱讀 7024

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 - 8 個回文串

其中第1種劃分方式的劃分數量最少。

input

輸入字串s(s的長度<= 5000)。
output

輸出最少的劃分數量。
input示例

abbaabaa
output示例

3
到現在了還是沒有入門....在網上找**.....接著刷吧只能硬刷了......

這道題     回文字元可能是相鄰的,也可能中間隔了乙個,兩種情況

#include using namespace std;

int dp[5005];

int main()

for( j=i, k=i+1;j=0;j++,k--)

}cout還有就是  dp[i]=min(dp[i],dp[j-1]+1)但你得保證後面的字元也是回文串,j#include#includeusing namespace std;

int dp[10005];

char a[10005];

int judge(int x,int y)

return 1;

}int main()

for(int i=1;i<=len;i++)

} }cout<

return 0;

}

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

1154 回文串劃分

有乙個字串s,求s最少可以被劃分為多少個回文串。例如 abbaabaa,有多種劃分方式。a bb aabaa 3 個回文串 a bb a aba a 5 個回文串 a b b a a b a a 8 個回文串 其中第1種劃分方式的劃分數量最少。input 輸入字串s s的長度 5000 output...

dp 51nod 1154 回文串劃分

link include using namespace std 題意 有乙個字串s,求s最少可以被劃分為多少個回文串。題解 暴力預處理出每位能到達範圍,dp可以由當前處理位置選擇多長回文串轉移。const int n 5005 const int inf 0x3f3f3f3f int ma n m...