Trie 树
插入
void insert(const string& str)
{
	int u = 0;
	for (int i = 0; i < str.size(); i++)
	{
		int a = str[i] - 'a';
		if (!trie[u][a])
			trie[u][a] = ++idx;
		u = trie[u][a];
	}
	cnt[u]++;
}查询
int query(const string& str)
{
	int u = 0;
	for (int i = 0; i < str.size(); i++)
	{
		int a = str[i] - 'a';
		if (!trie[u][a])
			return 0;
		u = trie[u][a];
	}
	return cnt[u];
}

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号