p1026 統計單詞個數
設$f[i][j]$表示到主串第$i$位,已分成$j$段的最多單詞數,$val[l][r]$表示區間$[l,r]$包含的單詞個數
可得:$f[i][j]=max(f[i][j],f[u][j-1]+val[u+1][i])$
套乙個三重迴圈即可
$val[l][r]$可以暴力處理
單詞判重用map
#include#include#include
#include
#define re register
using
namespace
std;
int max(int &a,int &b)
mapmp;
string a,b,c[8]; bool vis[202
];int p,k,n,m,f[202][42],len[8],val[202][202
];int
main()a.insert(
0,"#");
for(int i=1;i<=n;++i)
for(int j=i;j<=n;++j)
if(ok) ++val[i][j],vis[l]=1
; }
}//暴力處理val陣列
for(int i=1;i<=k;++i)
for(int j=1;j<=n;++j)
printf(
"%d\n
",f[n][k]);
return0;
}
P1026 統計單詞個數
給出乙個長度不超過200的由小寫英文本母組成的字母串 約定 該字串以每行20個字母的方式輸入,且保證每行一定為20個 要求將此字母串分成k份 1單詞在給出的乙個不超過6個單詞的字典中。要求輸出最大的個數。輸入格式 每組的第一行有二個正整數 p,k p表示字串的行數 k表示分為k個部分。接下來的p行,...
P1026 統計單詞個數
給出乙個長度不超過 200的由小寫英文本母組成的字母串 約定 該字串以每行 20個字母的方式輸入,且保證每行一定為 20個 要求將此字母串分成 k份 1 且每份中包含的單詞個數加起來總數最大 每份中包含的單詞可以部分重疊。當選用乙個單詞之後,其第乙個字母不能再用。例如字串 this中可包含 this...
P1026 統計單詞個數
給出乙個長度不超過200的由小寫英文本母組成的字母串 約定 該字串以每行20個字母的方式輸入,且保證每行一定為20個 要求將此字母串分成k份 1單詞在給出的乙個不超過6個單詞的字典中。要求輸出最大的個數。輸入格式 每組的第一行有二個正整數 p,k p表示字串的行數 k表示分為k個部分。接下來的p行,...