時間限制:1000ms 記憶體限制:1000k
我們說乙個字串是回文串,那麼意味著這個串從兩邊讀起來的字母都是一樣的。例如racecar是回文串,然而fastcar則不是。對乙個串的劃分意思是將乙個串劃分為若干個部分。例如,racecar可以劃分為race 和car兩部分。給出乙個串,要把這個串劃分為若干個回文串,那麼至少要把這個串劃分為多少部分?
例如:'racecar'已經是回文串,劃分為1 個部分即可(這個部分就是racecar)。
'fastcar' 需要被劃分為七個部分 ('f', 'a', 's', 't', 'c', 'a', 'r')。根據回文串的定義,單個字母也是回文串。
'aaadbccb' 分成可以被分為三個回文串 ('aaa', 'd', 'bccb')。找不到更少的劃分方法。
輸入的第一行是數字t,表示輸入檔案含有t個case。之後有t行,每行有乙個長度不大於1000的字串,全部由小寫字母組成,中間沒有空格。
對於每個case,輸出乙個數字,表示對該字串的回文串最小劃分。
3racecar
fastcar
aaadbccb
1 73
動態規劃問題,狀態轉移方程和解釋在下面的注釋中。為了方便處理,字串從s[1]開始。
#include #include #include #define len 1010
#define min(a,b) (a= right;
}int f(int i)
f[i]++;
} return f[i];
}int main()
return 0;
}
1 回文劃分
time limit 1000ms memory limit 1000k 題型 程式設計題 語言 無限制 我們說乙個字串是回文串,那麼意味著這個串從兩邊讀起來的字母都是一樣的。例如racecar是回文串,然而fastcar則不是。對乙個串的劃分意思是將乙個串劃分為若干個部分。例如,racecar可以...
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...