ACM_字典树
深海沧澜夜未央
这个作者很懒,什么都没留下…
展开
-
CH 1601 前缀统计 字典树模板题目
描述 给定N个字符串S1,S2...SN,接下来进行M次询问,每次询问给定一个字符串T,求S1~SN中有多少个字符串是T的前缀。输入字符串的总长度不超过10^6,仅包含小写字母。 输入格式 第一行两个整数N,M。接下来N行每行一个字符串Si。接下来M行每行一个字符串表示询问。 输出格式 对于每个询问,输出一个整数表示答案 样例输入 3 2 ab bc abc abc efg 样例输出 2 0...原创 2018-07-31 15:27:02 · 448 阅读 · 0 评论 -
CH 1602 The XOR Largest Pair 字典树+异或
描述 在给定的N个整数A1,A2……AN中选出两个进行xor运算,得到的结果最大是多少? 输入格式 第一行一个整数N,第二行N个整数A1~AN。 输出格式 一个整数表示答案。 样例输入 3 1 2 3 样例输出 3 数据范围与约定 对于100%的数据: N<=10^5, 0<=Ai<2^31。 思路:寻找2个数异或的最大值,我们把每个整数看做长度为32的二进制的01串(数...原创 2018-07-31 15:44:31 · 1125 阅读 · 0 评论 -
POJ - 3764 The xor-longest Path 字典树+异或
题意:给定一棵N个节点的树,树上的每条边都有一个权值,从树中选择两个点x和y,把从x到y路径上的所有边权xor异或起来,得到的最大结果是多少。 思路:相同部分异或为0,所以从x到y路径上的边权的xor结果为D[x] xor D [y] ,将x到根与y到根的重叠部分恰好抵消掉。 可以先用DFS得到所有的D[x],然后题目变成了D[1]-D[i] 选两个数字异或的结果最大 ...原创 2018-07-31 15:51:09 · 265 阅读 · 0 评论