摘要:
lxl 说过邻域信息维护父亲一定死,所以考虑对每个点维护其所有儿子构成的平衡树, 发现这样还是不行,于是对每个点维护其所有轻儿子构成的平衡树, 发现这样就可以了,因为每次链加只会修改 $O(\log n)$ 个点的平衡树。 在维护平衡树的过程中需要单点求值,再维护个树状数组即可。 俩 $\log$ 阅读全文
摘要:
验题人题解。 为了方便描述,我们称题面中 $\prod\limits_{\substack{v\in\operatorname{subtree}(u)\\v\in\mathring U(x)}}F_{\deg v}$ 为 $u$ 对 $x$ 的贡献。 称度数 $\ge 3$ 的点是枢纽点,然后你要观 阅读全文
摘要:
这个大房子可以看成一张 $n\times m$ 的网格图, 柱子不能打通的限制可以看成删去每个柱子对应的点, 此时答案即为剩下的图的生成树个数。 用矩阵树定理求解即可。 #include <cstdio> #include <algorithm> #define M 1000000000 #defi 阅读全文
摘要:
HE rk1 阅读全文
摘要:
给矩阵中每个点一个编号,维护 $v_{i,0/1/2/3},w_{i,0/1/2/3}$ 表示 $i$ 点四周的点,$i$ 点四周的点与 $i$ 点的点权差。 一次操作只会改变选定的子矩形边框上 $O(n)$ 个点四周的点,分别修改它们的 $v,w$ 即可。 然而存在一个问题:旋转操作会使选定的子矩 阅读全文
摘要:
手玩样例可以发现,把树划分为若干极大同 $f$ 连通块, 若存在 $i$ 满足极大 $f=i$ 连通块不唯一,则无解。证明比较平凡。 另外,若存在 $i$ 满足没有 $f=i$ 的点,也无解。证明比较平凡。 把每个唯一的极大 $f=i$ 连通块缩起来,建出一棵新树 $T$, 设 $f_{i,j}$ 阅读全文
摘要:
对主串建 SAM。 对于一次询问,考虑枚举询问串的所有循环同构, 问题变为维护串 $u$(初始为询问串),每次从 $u$ 开头删去一个字符,在 $u$ 结尾加入这个字符,然后求 $u$ 在主串中的出现次数, 类似 LCS 地,维护 $u$ 在主串中出现过的最长后缀长度 $z$ 及其对应节点 $p$, 阅读全文
摘要:
建广义 SAM,考虑统计 $e_{i,0/1/2}$ 表示 $i$ 点在每个串中分别出现多少次, 也就是说,对于 $T$ 串的每个前缀,将其对应节点的 link 树根链上每个点 $u$ 的 $e_{u,T}$ 加上 $1$。 可以将其树上差分为单点加,子树求和,最终可以得到每个 $i$ 点的 $e_ 阅读全文
摘要:
建广义 SAM,考虑标记 $e_i$ 表示 $i$ 点属于哪个串(特别地,若 $i$ 点属于多个串,则 $e_i=-1$)。 也就是说,对于 $T$ 串的每个前缀,将其对应节点的 link 树根链“染上” $T$ 色, (注意这里的“染色”与传统的染色不同,若一个点被染上多种颜色,则其颜色为 $-1 阅读全文
摘要:
咋都是找规律,来点暴力做法。 设 $f_i$ 表示 $n=i$ 时 $\text{mc}(A,C)$ 的值,$g_i$ 表示 $n=i$ 时 $\text{mc}(B,C)$ 的值, 设 $h_i=\begin{cases}1&i\equiv 1\pmod 2\\-1&i\equiv0\pmod 2 阅读全文