洛谷 P1026 統計單詞個數

2022-04-07 01:59:47 字數 1160 閱讀 5949

給出乙個長度不超過200的由小寫英文本母組成的字母串(約定;該字串以每行20個字母的方式輸入,且保證每行一定為20個)。要求將此字母串分成k份(1單詞在給出的乙個不超過6個單詞的字典中。

要求輸出最大的個數。

輸入格式:

每組的第一行有2個正整數(p,k)

p表示字串的行數,k表示分為k個部分。

接下來的p行,每行均有20個字元。

再接下來有1個正整數s,表示字典中單詞個數。(1≤s≤6)

接下來的s行,每行均有1個單詞。

輸出格式:

1個整數,分別對應每組測試資料的相應結果。

輸入樣例#1: 

1 3

thisisabookyouareaoh4is

aoksab

輸出樣例#1: 

7

this/isabookyoua/reaoh

解題思路:

本題需先看另一篇部落格:

本題是乙個dp題,用乙個f陣列表示狀態,其中f[i][j]表示到了第i個位置,分了j塊,能得到的最多的單詞數,再列舉斷點l,則 dp[i][j]=max;sum[i][j]表示i到j的單詞數.

ac**:

1 #include2 #include3

using

namespace

std;

4int p,k,n,m,sum[210][210],f[210][50];5

string s,a[10];6

bool check(int l,int r)

11void inin()

19 scanf("

%d",&n); m = s.length() - 1;//

下標從0開始,所以要減一

20for(int i = 1;i <= n; i++) cin >> a[i];//

輸入單詞

21for(int i = m;i >= 1; i--)

22for(int j = i;j >= 1; j--) 26}

27void dp()

37int

main()

38

//noip提高 2001 t3

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