摘要: "luogu" sol 显然$Q$那么大而$n$又那么小就一定是$O(n^2)$预处理然后每个询问$O(1)$回答就好了。 枚举每个起点然后一个一个往后面插入。 所有的回文子串的个数? 记录一下回文树上的$dep$,那么每插入一个字符以后新增的贡献就是$last$节点的$dep$值。 code cp 阅读全文
posted @ 2018-03-31 22:37 租酥雨 阅读(251) 评论(0) 推荐(0) 编辑
摘要: "bzoj" sol 首先求出以每个位置结尾的最长回文后缀长度。 然后你实际上就是要求:对于一个长度为$4$的倍数的回文子串,是否存在一个长度为他的一半的回文后缀。 这个可以沿后缀树$dfs$一遍。因为一个回文子串的所有回文后缀一定都是他在回文树上的祖先。 code cpp include incl 阅读全文
posted @ 2018-03-31 22:31 租酥雨 阅读(168) 评论(1) 推荐(0) 编辑
摘要: 回文树总结 写马拉车还不如写回文树。 BY 陈菊开 回文树是啥 原论文请转2017年集训队论文《回文树及其应用》BY翁文涛 我感觉回文树/回文自动机相较于后缀自动机还是要好理解一点的(像我这种菜鸡到现在还不是很懂SAM)。 回文树,顾名思义,就是要把一个串的所有回文子串丢到一棵树上。那要向SAM一样 阅读全文
posted @ 2018-03-31 22:14 租酥雨 阅读(947) 评论(1) 推荐(0) 编辑
摘要: "luogu" sol 震惊!$NOIP$居然也出数据结构! 话说回来,其实只需要对每一行的前$m 1$个人维护一个数据结构,然后对最后一列的$m$个人也维护一个数据结构就好了。具体的话写平衡树就可以了。 那么对于一次$(x,y)$的操作,其实就是先把最后一列的第$y$个元素丢到第$x$行里面,再查 阅读全文
posted @ 2018-03-31 16:55 租酥雨 阅读(207) 评论(0) 推荐(0) 编辑
摘要: "bzoj" "luogu" 题意 给你一张含有一条哈密顿回路的无向图(哈密顿回路就是经过每个店恰好一次),判断这张图是不是平面图(平面图就是可以画在平面上使边不相交)。 sol 首先有一个 平面图定理 :一张平面图的边数不超过$3N 6$(其中$N$是点数) 这样就把边数降到了$O(n)$级别。 阅读全文
posted @ 2018-03-31 14:21 租酥雨 阅读(240) 评论(0) 推荐(0) 编辑