
字典树
moomhxy
你若是天才,我便是疯子
展开
-
字典树模板
版本一:B站视频教程:链接const int tn = 26; //分叉,字符个数struct node{ int flag; node *nxt[tn]; node() { for(int i = 0; i < tn; ++i) nxt[i] = NULL; flag = 0; }...原创 2019-05-19 15:17:37 · 158 阅读 · 0 评论 -
HDU1251-统计难题 【字典树】
Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).Input输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每个提问都是一个字符串.注...原创 2019-05-19 15:21:18 · 230 阅读 · 0 评论 -
hihocoder1366 : 逆序单词【字典树】
描述在英文中有很多逆序的单词,比如dog和god,evil和live等等。现在给出一份包含N个单词的单词表,其中每个单词只出现一次,请你找出其中有多少对逆序单词。输入第1行:1个整数,N,表示单词数量。2≤N≤50,000。第2..N+1行:每行1个单词,只包含小写字母,每个单词长度不超过16个字母。保证每个单词只出现一次,且不会出现回文单词(即一个单词倒序还是它自己,比如ey...原创 2019-05-19 16:26:27 · 278 阅读 · 0 评论 -
HDU6191-Query on A Tree【01字典树】
Monkey A lives on a tree, he always plays on this tree.One day, monkey A learned about one of the bit-operations, xor. He was keen of this interesting operation and wanted to practise it at once.Mon...原创 2019-05-22 20:08:06 · 290 阅读 · 0 评论 -
HDU4825-Xor Sum【01字典树】
Zeus 和 Prometheus 做了一个游戏,Prometheus 给 Zeus 一个集合,集合中包含了N个正整数,随后 Prometheus 将向 Zeus 发起M次询问,每次询问中包含一个正整数 S ,之后 Zeus 需要在集合当中找出一个正整数 K ,使得 K 与 S 的异或结果最大。Prometheus 为了让 Zeus 看到人类的伟大,随即同意 Zeus 可以向人类求助。你能证明人类...原创 2019-05-22 23:56:17 · 157 阅读 · 1 评论 -
HDU 6625-three arrays【01字典树 + 思维】
题意:给你两个数组,让你可以任意匹配两个数组进行异或,使得异或后的字典序最小。思路:对两个数组分别建树,同时记录各个节点出现的次数,每次挑两个数异或并消除,那么最终状态一定会将两棵树消完。在取两个数的时候,取相同位优先,因为这样异或为0,其次才是不同的01,10,如果相同的话位权为1,那么我们就要加上这个位权。其实也就相当于在二叉树中找一条链,,我们优先找相同的对结果来说肯定是最优的。...原创 2019-08-14 21:03:15 · 206 阅读 · 0 评论 -
HDU 6687 Rikka with Stable Marriage【01字典树】
题意:给你两个数组,让两个数组间元素两两异或,当然你可以决定谁跟谁异或,要求异或后的和最大。思路:上次有道题是最小,这次是最大,稍微改了一下就行了,之前那道题:HDU 6625#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 1e5 + 10;vector...原创 2019-09-09 14:50:36 · 216 阅读 · 0 评论