AcWing 142 字首統計(字典樹)

2022-07-25 17:15:28 字數 1013 閱讀 4159

給定n個字串s1,

s2…s

n'>s1,s2…sn

s1,s2…sn,接下來進行m次詢問,每次詢問給定乙個字串t,求s

1'>s1

s1~s

n'>sn

sn中有多少個字串是t的字首。

輸入字串的總長度不超過10

6'>106

106,僅包含小寫字母。

輸入格式

第一行輸入兩個整數n,m。

接下來n行每行輸入乙個字串s

i'>si

si。接下來m行每行乙個字串t用以詢問。

輸出格式

對於每個詢問,輸出乙個整數表示答案。

每個答案佔一行。

輸入樣例:

3 2

abbc

abcabc

efg

輸出樣例:
2

0

演算法:字典樹

#include #include 

#include

using

namespace

std;

const

int maxn = 1e6+7

;int tree[maxn][26

];char

str[maxn];

intend[maxn];

int tot = 1

;void insert(char *str)

root =tree[root][idx];

}end[root]++; //

記錄每個單詞的個數

}int search(char *str)

root =tree[root][idx];

ans +=end[root];

}return

ans;

}int

main()

while(m--)

return0;

}

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用以詢問。輸出格式 對於每個詢問,輸出乙...

Acwing 142 字首統計

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