洛谷1026 統計單詞個數

2021-07-30 12:58:22 字數 1132 閱讀 2122

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

要求輸出最大的個數。

輸入格式:

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

p表示字串的行數;

k表示分為k個部分。

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

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

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

輸出格式:

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

輸入樣例#1:

1 3

thisisabookyouareaoh4is

aoksab

輸出樣例#1:

7

this/isabookyoua/reaoh

這題不錯,是個字串的劃分dp,看了好久好久才明白過來

講一下我的思路(和人家學來的)

輸入時就把好幾行字串處理成大長串,方便以後的使用。

d[i]表示以s[i]為首字母如果存在單詞的情況下最短的單詞末尾座標(苦心看了好久好久)

dp[i][j]是指前i個字元分成j組的最優解

ans儲存在dp[n][m]中

#include#include

#include

using

namespace

std;

int p,n,m,dp[1000][1000],dis[2050

],num;

char word[10][100

];char s[2050

];int len[10

];void

dp()//

如果有差錯,說明不存在這個單詞,看下乙個

}

if(flag==1)continue

; dis[i]=min(dis[i],i+len[j]-1);//

如果是這個單詞,納入單詞長度

} }

for(int i=1;i<=n;i++)}}

}int

main()

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