摘要:
[luogu][1] 题意 求字符串中相交(含公共部分,所以包含也算相交)的回文子串的对数。 模一个并不是质数的数。 sol 正难则反吧。 总回文子串的个数就是回文树上的$\sum dep_i$ 所以总对数就是$\frac 12\sum dep_i (\sum dep_i 1)$ 然后就是要求不相交 阅读全文
摘要:
"luogu" sol 显然$Q$那么大而$n$又那么小就一定是$O(n^2)$预处理然后每个询问$O(1)$回答就好了。 枚举每个起点然后一个一个往后面插入。 所有的回文子串的个数? 记录一下回文树上的$dep$,那么每插入一个字符以后新增的贡献就是$last$节点的$dep$值。 code cp 阅读全文
摘要:
"bzoj" sol 首先求出以每个位置结尾的最长回文后缀长度。 然后你实际上就是要求:对于一个长度为$4$的倍数的回文子串,是否存在一个长度为他的一半的回文后缀。 这个可以沿后缀树$dfs$一遍。因为一个回文子串的所有回文后缀一定都是他在回文树上的祖先。 code cpp include incl 阅读全文
摘要:
回文树总结 写马拉车还不如写回文树。 BY 陈菊开 回文树是啥 原论文请转2017年集训队论文《回文树及其应用》BY翁文涛 我感觉回文树/回文自动机相较于后缀自动机还是要好理解一点的(像我这种菜鸡到现在还不是很懂SAM)。 回文树,顾名思义,就是要把一个串的所有回文子串丢到一棵树上。那要向SAM一样 阅读全文
摘要:
"luogu" sol 震惊!$NOIP$居然也出数据结构! 话说回来,其实只需要对每一行的前$m 1$个人维护一个数据结构,然后对最后一列的$m$个人也维护一个数据结构就好了。具体的话写平衡树就可以了。 那么对于一次$(x,y)$的操作,其实就是先把最后一列的第$y$个元素丢到第$x$行里面,再查 阅读全文
摘要:
"bzoj" "luogu" 题意 给你一张含有一条哈密顿回路的无向图(哈密顿回路就是经过每个店恰好一次),判断这张图是不是平面图(平面图就是可以画在平面上使边不相交)。 sol 首先有一个 平面图定理 :一张平面图的边数不超过$3N 6$(其中$N$是点数) 这样就把边数降到了$O(n)$级别。 阅读全文
摘要:
"bzoj" "luogu" 题意 就是要在一个只含$a,b$的字符串中选取一个子序列,使得: 1、位置和字符都关于某条对称轴对称。 2、不能是连续的一段。 求方案数模$10^9+7,n\le10^5$ sol 其实就是对于任意一个对称中心,你算出关于它对称的有多少位置,假设是$f_i$那么一个对称 阅读全文
摘要:
"bzoj" "luogu" "uoj" 题意 有一棵$LCT$,给出每个点的$access$次数,求一个最优的$access$操作顺序使得重轻链切换的次数最多。 sol ~~像我这种外省酱油选手在考场上当然只有10分暴力分~~ 有没有人像我一样在考场上想到 "[SDOI2017]树点涂色" 然而依 阅读全文
摘要:
"bzoj" "加强版" sol 其实前一题还有一种解法的,具体方法请见bzoj讨论版。 以下是正解(?) 建一棵生成树。 考虑什么时候图会不连通:当且仅当存在一条树边被删除,同时所有覆盖了他的非树边也被删除。 所以考虑给每条非树边随机一个权值,然后把每条树边的权值设为所以覆盖了这条边的非树边的边权 阅读全文
摘要:
"vjudge" 题意 有$n$张卡片,每一次你有$p_i$的概率买到第$i$张卡。求买到所有卡的期望购买次数。 $n\le20,\sum p_i\le1$ sol $n\le20$那就一定是状压了吧。 设$f_s$表示已经买到了集合$s$后的期望购买次数。显然转移方程式长这样: $f_s=\sum 阅读全文