142 字首統計 AcWing

2022-06-10 17:27:08 字數 663 閱讀 6257

原題鏈結

trie的基本運用

錯誤思路:

將要查詢字首的字串構建字典樹,這樣的結果是每個字串都要重新構建一次樹,並且我們需要預先儲存要匹配字首的單詞,但題目單詞數目沒有講明,所以我們必須將建樹的字串互換.(這樣建樹會導致mle)

正解思路:

將字首建樹,如果達到乙個結點有單詞就+1,如果沒有單詞就跳出

易錯:我們需要再當前結點的下一節點處看是否有單詞,否則會少計數

可能會有重複單詞

1 #include 2 #include 

3 #include 4

using

namespace

std;

5const

int n = 1e6+10;6

int son[n][28],idx,cnt[n*28];7

void insert(strings)8

15 cnt[p]++;16}

17int query(string

t)18

26return

ans;27}

28int

main()

2937

for(int i=1;i<=m;i++)

4344

return0;

45 }

AcWing 142 字首統計

題目描述 給定n個字串s1,s2 sn,接下來進行m次詢問,每次詢問給定乙個字串t,求s1 sn中有多少個字串是t的字首。輸入字串的總長度不超過106,僅包含小寫字母。輸入格式 第一行輸入兩個整數n,m。接下來n行每行輸入乙個字串si。接下來m行每行乙個字串t用以詢問。輸出格式 對於每個詢問,輸出乙...

Acwing 142 字首統計

給定n個字串s1,s2 sn,接下來進行m次詢問,每次詢問給定乙個字串t,求s1 sn 中有多少個字串是t的字首。輸入字串的總長度不超過106 僅包含小寫字母。輸入格式 第一行輸入兩個整數n,m。接下來n行每行輸入乙個字串si 接下來m行每行乙個字串t用以詢問。輸出格式 對於每個詢問,輸出乙個整數表...

Trie 142 字首統計 acwing

給定n個字串s1,s2 sn,接下來進行m次詢問,每次詢問給定乙個字串t,求s1 sn中有多少個字串是t的字首。輸入字串的總長度不超過106,僅包含小寫字母。輸入格式 第一行輸入兩個整數n,m。接下來n行每行輸入乙個字串si。接下來m行每行乙個字串t用以詢問。輸出格式 對於每個詢問,輸出乙個整數表示...