題目描述
給定n個字串s_,s_...s_s1,s2...sn,接下來進行m次詢問,每次詢問給定乙個字串t,求s1~sn 中有多少個字串是t的字首。輸入字串的總長度不超過10^6 ,僅包含小寫字母。
輸入描述:
第一行兩個整數n,m。接下來n行每行乙個字串si。接下來m行每行乙個字串表示詢問。
輸出描述:
對於每個詢問,輸出乙個整數表示答案
思路:
一看到字串的字首,我們就應該想到字典樹,和字典一樣的字首樹.這道題是字典樹很經典的一道題也沒什麼好說的。
完整c++版ac**:
#include #includeusing
namespace
std;
const
int n = 1000010
;int
n,m;
int son[n][26
], cnt[n], idx;
char
str[n];
void
insert()
cnt[p]++;
}int
search()
return
ans;
}int
main()
while (m--)
return0;
}
演算法競賽高階指南 字首統計 Trie
description 給定n個字串s1,s2 sn,接下來進行m次詢問,每次詢問給定乙個字串t,求s1 sn中有多少個字串是t的字首。輸入字串的總長度不超過106,僅包含小寫字母。字串 s1 不妨假設長度為 n 被稱為字串 s2 的字首,當且僅當 s2 的長度不小於 n,且 s1 與 s2 前 n...
《演算法競賽高階指南》 防曬
有c頭奶牛進行日光浴,第i頭奶牛需要minspf i 到maxspf i 單位強度之間的陽光。每頭奶牛在日光浴前必須塗防曬霜,防曬霜有l種,塗上第i種之後,身體接收到的陽光強度就會穩定為spf i 第i種防曬霜有cover i 瓶。求最多可以滿足多少頭奶牛進行日光浴。輸入格式 第一行輸入整數c和l。...
《演算法競賽高階指南》蚯蚓
蛐蛐國最近蚯蚓成災了!隔壁跳蚤國的跳蚤也拿蚯蚓們沒辦法,蛐蛐國王只好去請神刀手來幫他們消滅蚯蚓。蛐蛐國裡現在共有 n 只蚯蚓,第 i 只蚯蚓的長度為 ai 所有蚯蚓的長度都是非負整數,即可能存在長度為0的蚯蚓。每一秒,神刀手會在所有的蚯蚓中,準確地找到最長的那乙隻,將其切成兩段。若有多隻最長的,則任...