随笔分类 - 字典树
摘要:传送门 考虑前缀异或和 $b[i]$ 如果知道每个 $b[i]$ 就相当于知道所有数 初始知道 $b[0]$,每次操作 $l,r$ 就是求出 $b[l-1]\ xor\ b[r]$ 考虑转化成图论模型,把 $b[i]$ 看成点(包括 $b[0]$),每次操作相当于把两个点 $b[l-1],b[r]$
阅读全文
摘要:传送门 问最长简称最短,考虑二分答案 二分后开始考虑暴力枚举合法缩写 但是正常枚举时可能会重复 所以设 $ch[i][j][k]$ 表示第 $i$ 个人,当前到位置 $j$ 时,下一个字符为 $k+'a'$ 的最前面的位置 这样我们暴力 $dfs$ 时就不会重复枚举缩写了 预处理一波 $ch$ :
阅读全文
摘要:传送门 贪心+字典树 很显然,填一个单词前肯定要优先把所有是它后缀的单词填掉 考虑怎么判后缀 可以把单词倒过来,加入字典树 那么填一个单词前要先填掉它所有祖先的单词 即要从深度小的填到深度大的 可以按搜索顺序填 考虑要怎样确定搜索顺序 随便画一颗树 发现深度优先比广度优先更优 在深度优先时 单词少的
阅读全文
摘要:传送门 字典树 把所有信息建一个字典树 然后把每条密码在字典树上跑一遍 把经过的结束标记以及跑到的最后的一个节点的整个子树的结束标记加起来 开一个数组存一下每个节点的子树的结束标记和就好了
阅读全文
摘要:传送门 字典树 几乎就是模板 但是要注意如果每组数据都用一波memset... 会TLE 所以要考虑动态删点 如果要用到再把这个点的数据清空 没有什么好说的了...
阅读全文
摘要:传送门 DP+字典树 设 如果存在一种分法,使得第 i 个字符能被理解,并且 i 为此分法中的最后一个字符 (显然也是最后一个单词的最后一个字符) 那么 f [ i ] = 1 那么就是要求最大的 i 使得 f [ i ] = 1 考虑如何转移 如果知道了 f [ i ] = 1 那么 f[ i+l
阅读全文