洛谷 p1026 統計單詞個數
dp[i][j]
表示到了第i個位置,分了j塊,能得到的最多的單詞數。
sum[i][j]
是預處理的表示從i到j的單詞數。
轉移方程:
dp[i][j] = max
這裡的r
表示前1~r
個字元被分成j-1
份,第r+1
到第i
個字母單獨為1份,加起來就是分成了j
份,r是需要被列舉的
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define max 45
#define inf 0x3f3f3f3f
typedef
long
long ll;
using namespace std;
int n,k,num;
string s,a[10]
;//s為輸入的字串
int dp[
205][45
],sum[
205]
[205];
bool judge
(int l,
int r)
return false;
}int
main()
cin>>num;
for(
int i=
0;i)int len=s.
length()
;for
(int i=len-
1;i>=
1;i--)}
//初始化
dp[0]
[0]=
0;for(
int i=
1;i<=k;i++
)for
(int i=
1;i)//開始dp
for(
int i=
1;i}printf
("%d"
,dp[len-1]
[k])
;return0;
}
洛谷 P1026 統計單詞個數
題目描述 給出乙個長度不超過200的由小寫英文本母組成的字母串 約定 該字串以每行20個字母的方式輸入,且保證每行一定為20個 要求將此字母串分成k份 1 k 40 且每份中包含的單詞個數加起來總數最大 每份中包含的單詞可以部分重疊。當選用乙個單詞之後,其第乙個字母不能再用。例如字串this中可包含...
統計單詞個數 洛谷p1026
給出乙個長度不超過200的由小寫英文本母組成的字母串 約定 該字串以每行20個字母的方式輸入,且保證每行一定為20個 要求將此字母串分成k份 1單詞在給出的乙個不超過6個單詞的字典中。要求輸出最大的個數。輸入格式 每組的第一行有二個正整數 p,k p表示字串的行數 k表示分為k個部分。接下來的p行,...
洛谷P1026(統計單詞個數)
給出乙個長度不超過 200 的由小寫英文本母組成的字母串 該字串以每行 20 個字母的方式輸入,且保證每行一定為 20 個 要求將此字母串分成 k份,且每份中包含的單詞個數加起來總數最大。每份中包含的單詞可以部分重疊。當選用乙個單詞之後,其第乙個字母不能再用。例如字串 this 中可包含 this ...