![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字典树
Cai_Haiq
此人很懒,随便改了几个字
展开
-
HDU6059(01字典树求异或最大值)
题意:求a中三个数ai,aj,ak,ai⊕aj<aj⊕ak(i<j<k)题意:求a中三个数a_i,a_j,a_k,a_i\oplus a_j<a_j\oplus a_k(i<j<k) 这里要动态维护字典树,每当输入一个数,就更新一下字典树。最后减去i>j的情况(这里最难懂),搞了好久,算是会了,手撕代码时问题百出,还是没有学到骨子里,留下以后在复习。 参看了两位大佬的博客: 大佬博客 小老博原创 2017-08-05 09:59:35 · 795 阅读 · 0 评论 -
HDU1251(静态维护字典树模板题)
字典树入门还是很简单了,30分钟就差不多可以手撕动态维护的板子了。但是这个题用动态维护字典树会MLE,几乎网上所有动态维护的都TLE了。可怕,就算释放也会(虽然只有一次建树,释不释放一个样子)。于是继续学习静态维护字典树。其实静态维护就是用数组模拟建树,答题思路类似链式前向星。 静态维护的时候还要注意数组开的大小,一开始大方100万数字,MLE。84000K,题目要求65535K 别太大方,50原创 2017-09-26 20:21:38 · 432 阅读 · 0 评论 -
HDU1671(字典树模板题)
用struct写的静态字典树,感觉就是链式前向星的思想,原来是这么搞的,恍然大悟。 这个题就是需要加个结尾标记,进行两次判断,第一次判断前面是否存在这个字符串的前缀,第二次判断这个字符串是否为之前出现过的字符串的前缀。 剩下的就是手撕代码了。但是,TT,一定别那么大方了,如同吃了香蕉加大枣。别开100万,别开100万,别开100万,重要的事情说三遍,50万刚刚好。我还不信邪的开了70万试试,刚刚原创 2017-09-26 21:30:31 · 387 阅读 · 0 评论