程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> UVA 11584 - Partitioning by Palindromes DP

UVA 11584 - Partitioning by Palindromes DP

編輯:C++入門知識

 

題目大意:

輸入一個由小寫字母組成的字符串,你的任務是把它劃分成盡量少的回文串。比如,racecar本身就是回文串,fastcar只能分為7個單字母組成的回文串;aaadbccb最少可以分成3個回文串:aaa、d、bccb。字符串長度不超過1000

思路:

設dp[i]為到達下標i劃分的最少回文串。

則dp[i]=min{ dp[j-1]+1 }( j from 1 to i) 即如果 j 到 i 是回文串,那麼等於最少為dp[j-1]+1

 

 

#include
#include
#include
using namespace std;
const int MAXN=1024;
const int INF=0x7fffffff;
int dp[MAXN];
char s[MAXN];
bool ok(int i,int j)
{
	while(i

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved