字符串:字典树(Trie树)
文章平均质量分 75
skajre
这个作者很懒,什么都没留下…
展开
-
UVA 1401 Remember the Word(字典树)
定义状态d[i]=sum{(d[i]+d[i+len(x)])%MOD},x是从i~L字符串的前缀字符串,那么d[i]的值代表i~L有多少种可能性,一直向前递推,知道i为0。 #include #include #include #include #include using namespace std; #define rep(i,a,b) for(int i=(a);i<=(b);i++)原创 2016-10-22 14:54:05 · 178 阅读 · 0 评论 -
UVA 11732 "strcmp()" Anyone(字典树+左儿子-右兄弟表示法)
如果用常规发放存储字典树,那么空间需要2亿多int,肯定会爆空间,所以用左耳子-右兄弟的方法存字典树。 然后当节点是叶子结点的时候那么比较次数就是tot[u]*(tot[u]-1)*dep,如果非叶子结点,那么统计他的儿子节点与兄弟节点的个数然后相乘最后除2再乘比较次数就是到目前节点的比较次数了。#include #include #include #include using namespac原创 2016-10-22 19:44:31 · 329 阅读 · 0 评论 -
UVA 11488 Hyper Prefixs Sets(字典树Trie)
数组尽量开大点,RE好几次。#include #include #include #include using namespace std; const int maxn=10000000+5; struct Trie{ int ch[maxn][2]; int ti[maxn]; int sz; int max_p; void clear() {sz=1;原创 2016-11-04 07:29:24 · 191 阅读 · 0 评论