hdu 1251 统计难题(字典树)

Posted jpphy0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu 1251 统计难题(字典树)相关的知识,希望对你有一定的参考价值。

问题

hdu 1251 统计难题 - https://acm.hdu.edu.cn/showproblem.php?pid=1251

分析

  • trie[0]作为尾,无后继
  • trie[1]作为空白根

代码

/* hdu 1251 统计难题 */
#include<bits/stdc++.h>
using namespace std;
const int MXN = 500010;
int tot = 1;
struct Trie{int nxt[26], num;} trie[MXN];
void insert(char str[]){
	int len = strlen(str);
	for(int s = 1, i = 0; i < len; ++i){
		if(trie[s].nxt[str[i]-'a'] == 0) trie[s].nxt[str[i]-'a'] = ++tot;
		s = trie[s].nxt[str[i]-'a'], ++trie[s].num;		
	}
}
int query(char str[]){
	int s = 1, i, len = strlen(str);
	for(i = 0; i < len; ++i){
		if(trie[s].nxt[str[i]-'a'] == 0) break;
		s = trie[s].nxt[str[i]-'a'];
	}	
	return i == len ? trie[s].num : 0;
}
int main(){
	char str[11];
	memset(trie, 0, sizeof trie);
	while(gets(str) && strlen(str)) insert(str);
	while(gets(str) && strlen(str)) printf("%d\\n", query(str));
    return 0;
}

以上是关于hdu 1251 统计难题(字典树)的主要内容,如果未能解决你的问题,请参考以下文章

(字典树)HDU - 1251 统计难题

HDU 1251 统计难题(字典树)

HDU-1251统计难题 ,字典树

统计难题HDU - 1251map打表或字典树字典树模板

统计难题 HDU - 1251(字典树)

HDU1251-统计难题(字典树)