洛谷 P2031 腦力達人之分割字串

2021-08-02 04:00:11 字數 1017 閱讀 8896

好吧,該來的廢話還是要來的。

畫外音:

終於,在兩輪的重重選拔之後,我們的海選終於結束了。現在進入我們的迴圈賽環節。循壞賽一共有四場,最後選出得分最高的16人進入對決,得分相同則和按用時排名,若仍有不能確定16人的情況,則去尾處理。

歡迎您收看有洛谷衛視重磅推出的綜合性文藝知識類節目「開心玩遊戲,輕鬆贏比賽」,我是luwm。學程式設計,就選洛谷, 感謝洛谷online judge對本節目的大力支援。下面,我們有請10位選手上台,由大螢幕給出題目。

現在有乙個字串,你可以對這個字串進行拆分,如abcvsdaas可以拆分為abc|vs|d|aasa,現在再給你乙個字典,要求分割成的每乙個子串必須要有包含其中的任意乙個單詞。那麼最多可以分為幾個子串呢?

輸入格式:

第一行,一行字串

第二行乙個數n,表示字典中字串的數量

接下來n行,每行乙個字串,表示字典中的乙個字串。

輸出格式:

乙個數,最多的分割數。

輸入樣例#1:

asdsd3as

sdds

輸出樣例#1:

2

特殊情況:

如果原字串不能被分割,請輸出0

資料範圍:

對於20%的資料,1<=len(s)<=50,1<=n<=50

對於100%的資料,1<=len(ai)<=len(s)<=300,1<=n<=500

~~~~~~~~~~~~~~~~~~~~~~~~~~~

trie樹+dp~

普及-的題……

對字典建trie樹,然後dp~

#include#include#includeusing namespace std;

int n,m,c[150001][26],cnt,num[150001],f[150001],ans;

char s[301],ch[301];

void init()

{ int l=strlen(ch),now=1;

for(int i=0;i

洛谷 P2031 腦力達人之分割字串

題目描述 現在有乙個字串,你可以對這個字串進行拆分,如abcvsdaas可以拆分為abc vs d aasa,現在再給你乙個字典,要求分割成的每乙個子串必須要有包含其中的任意乙個單詞。那麼最多可以分為幾個子串呢?題目分析 隨機跳題,跳到一道水題,動態規劃 trie樹。include include ...

洛谷 P2031 腦力達人之分割字串

f i 表示到第i位可獲得的最大分割次數,對於每個f i 都可由其符合條件的字首轉移過來,條件就是當前串除了字首的剩餘字元裡有所給單詞,然後一看,這不是在剩餘字元裡找有沒有所給單詞嗎?所以果斷kmp,其實本題好像不用kmp,暴力模擬就可以,但是為了練習kmp裝逼,所以就寫一下.1 include2 ...

字串 P2031 腦力達人之分割字串

題目背景 好吧,該來的廢話還是要來的。畫外音 終於,在兩輪的重重選拔之後,我們的海選終於結束了。現在進入我們的迴圈賽環節。循壞賽一共有四場,最後選出得分最高的16人進入對決,得分相同則和按用時排名,若仍有不能確定16人的情況,則去尾處理。歡迎您收看有洛谷衛視重磅推出的綜合性文藝知識類節目 開心玩遊戲...