随笔分类 -  题解

1 2 3 4 5 ··· 10 下一页
摘要:这题跟由乃打扑克的唯一区别就是这题不会放错解过了吧…… 求出 DFS 序,问题变为区间加区间 k 小值。 考虑分块,维护每个块排序的结果, 修改时散块归并,整块打标记, 查询时先把散块归并起来,然后二分答案, check 时散块在归并出的数组上二分,整块在其排序的结果上二分, 设块长为 B,总复 阅读全文
posted @ 2024-02-20 21:40 Jijidawang 阅读(37) 评论(1) 推荐(1) 编辑
摘要:lxl 说过邻域信息维护父亲一定死,所以考虑对每个点维护其所有儿子构成的平衡树, 发现这样还是不行,于是对每个点维护其所有轻儿子构成的平衡树, 发现这样就可以了,因为每次链加只会修改 O(logn) 个点的平衡树。 在维护平衡树的过程中需要单点求值,再维护个树状数组即可。 俩 log 阅读全文
posted @ 2024-02-02 22:06 Jijidawang 阅读(25) 评论(0) 推荐(0) 编辑
摘要:验题人题解。 为了方便描述,我们称题面中 vsubtree(u)vU˚(x)Fdegvux 的贡献。 称度数 3 的点是枢纽点,然后你要观 阅读全文
posted @ 2024-02-01 22:22 Jijidawang 阅读(24) 评论(0) 推荐(0) 编辑
摘要:这个大房子可以看成一张 n×m 的网格图, 柱子不能打通的限制可以看成删去每个柱子对应的点, 此时答案即为剩下的图的生成树个数。 用矩阵树定理求解即可。 #include <cstdio> #include <algorithm> #define M 1000000000 #defi 阅读全文
posted @ 2024-02-01 21:10 Jijidawang 阅读(11) 评论(0) 推荐(0) 编辑
摘要:给矩阵中每个点一个编号,维护 vi,0/1/2/3,wi,0/1/2/3 表示 i 点四周的点,i 点四周的点与 i 点的点权差。 一次操作只会改变选定的子矩形边框上 O(n) 个点四周的点,分别修改它们的 v,w 即可。 然而存在一个问题:旋转操作会使选定的子矩 阅读全文
posted @ 2024-01-22 20:43 Jijidawang 阅读(15) 评论(0) 推荐(0) 编辑
摘要:手玩样例可以发现,把树划分为若干极大同 f 连通块, 若存在 i 满足极大 f=i 连通块不唯一,则无解。证明比较平凡。 另外,若存在 i 满足没有 f=i 的点,也无解。证明比较平凡。 把每个唯一的极大 f=i 连通块缩起来,建出一棵新树 T, 设 fi,j 阅读全文
posted @ 2024-01-22 19:46 Jijidawang 阅读(14) 评论(0) 推荐(0) 编辑
摘要:对主串建 SAM。 对于一次询问,考虑枚举询问串的所有循环同构, 问题变为维护串 u(初始为询问串),每次从 u 开头删去一个字符,在 u 结尾加入这个字符,然后求 u 在主串中的出现次数, 类似 LCS 地,维护 u 在主串中出现过的最长后缀长度 z 及其对应节点 p阅读全文
posted @ 2024-01-17 17:46 Jijidawang 阅读(6) 评论(0) 推荐(0) 编辑
摘要:建广义 SAM,考虑统计 ei,0/1/2 表示 i 点在每个串中分别出现多少次, 也就是说,对于 T 串的每个前缀,将其对应节点的 link 树根链上每个点 ueu,T 加上 1。 可以将其树上差分为单点加,子树求和,最终可以得到每个 i 点的 $e_ 阅读全文
posted @ 2024-01-10 16:54 Jijidawang 阅读(11) 评论(0) 推荐(0) 编辑
摘要:建广义 SAM,考虑标记 ei 表示 i 点属于哪个串(特别地,若 i 点属于多个串,则 ei=1)。 也就是说,对于 T 串的每个前缀,将其对应节点的 link 树根链“染上” T 色, (注意这里的“染色”与传统的染色不同,若一个点被染上多种颜色,则其颜色为 $-1 阅读全文
posted @ 2024-01-10 16:31 Jijidawang 阅读(5) 评论(0) 推荐(0) 编辑
摘要:咋都是找规律,来点暴力做法。 设 fi 表示 n=imc(A,C) 的值,gi 表示 n=imc(B,C) 的值, 设 $h_i=\begin{cases}1&i\equiv 1\pmod 2\-1&i\equiv0\pmod 2 阅读全文
posted @ 2024-01-05 08:52 Jijidawang 阅读(12) 评论(0) 推荐(0) 编辑
摘要:简化题意:公共回文串计数。 对两个串分别建 PAM,然后同时遍历它们,每次只走它们共有的边, 此时能遍历到的点就是两个串的所有公共回文串,考虑每个点的贡献。 对 PAM 上每个点 i 求出 ci 表示其出现次数,则能被同时遍历到的点对 (i,j) 的贡献即为 $c_i\times c_ 阅读全文
posted @ 2024-01-05 08:37 Jijidawang 阅读(30) 评论(0) 推荐(0) 编辑
摘要:分治,设当前区间为 [l,r],考虑跨过分治中点 m=l+r2 的满足条件的区间个数。 枚举区间左端点 i[l,m],设右端点为 j,则对每个 i,总有 p1,p2 满足: $\forall j\in(m 阅读全文
posted @ 2023-12-20 20:29 Jijidawang 阅读(6) 评论(0) 推荐(0) 编辑
摘要:对一次询问,假设已经建出了这条树链的线性基,考虑存在两个子集异或和相等的条件。 若存在未成功插入线性基的数 k,则一定可以在线性基中选出异或和为 k 的子集 S,此时存在 {k}S 异或和相等。 否则,树链的 2n 个子集异或和对应线性基的 2n 个互不相同 阅读全文
posted @ 2023-12-19 10:28 Jijidawang 阅读(30) 评论(0) 推荐(0) 编辑
摘要:离线下来按 l 扫描线,问题变为维护一个集合,支持插入元素,查询异或和为 x 的子集个数。考虑线性基维护。 对每个未成功插入线性基的数 k,都能在线性基中选出若干数与 k 异或和为 0,记选出的这个异或和为 0 的子集为 Tk。 对一次询问 x,若能在线性基中选出异 阅读全文
posted @ 2023-12-18 21:34 Jijidawang 阅读(3) 评论(0) 推荐(0) 编辑
摘要:插入删除区间查询,考虑直接在平衡树上维护答案。 设 u 的左子树为 L,右子树为 Ru 点的权值为 v,则对于一个 ku 子树的答案为 $$ \begin{aligned} &\sum a_i\times i^k\ =&v\times(|L|+1)^k+\sum_L 阅读全文
posted @ 2023-12-18 16:13 Jijidawang 阅读(6) 评论(0) 推荐(0) 编辑
摘要:称一个极长无 . 区间为一段,则最终形态中一定有一段不变,其左侧全为 <,右侧全为 >。 也就是说,最终形态只有 O(n) 种,而每种的 < 个数容易统计,只需考虑每种形态的出现概率。 设 fn 表示把含 $n 阅读全文
posted @ 2023-12-18 15:44 Jijidawang 阅读(3) 评论(0) 推荐(0) 编辑
摘要:考虑链怎么做。问题变为给一些区间 [li,ri],选最少的点使得每个 (li,ri) 内都有至少一个点, 这个是贪心经典题,按右端点排序即可,考虑在树上类似地贪心。 钦定 1 为根。可以发现选 1 可以解决所有曲链,不妨先考虑只有直链的情况。 设 du 表示 u阅读全文
posted @ 2023-12-18 15:14 Jijidawang 阅读(4) 评论(0) 推荐(0) 编辑
摘要:通过拉格朗日插值,确定一个 10 次多项式只需要 11 个点值,也就是只需要 11 次询问。 多项式的值是模 106+3 意义下的,所以有零点时 [0,106+3) 内必有一个零点,枚举这个范围即可。 #include <cstdio> #define M 1000003 # 阅读全文
posted @ 2023-12-07 16:39 Jijidawang 阅读(1) 评论(0) 推荐(0) 编辑
摘要:莫队,考虑加入、删除的贡献。 需要维护若干二元组 (ai,bi),支持 ai 单点修改,bi 区间加减 1,求全局 aifbi,其中 f 是斐波那契数列, 维护 $B_i=\begin{bmatrix}f_{b_i}&f_{b_i-1}\end{b 阅读全文
posted @ 2023-12-07 16:16 Jijidawang 阅读(1) 评论(0) 推荐(0) 编辑
摘要:先考虑 n105。 设 fi 表示钦定第 i 天不跑步,前 i 天结束后能量值最高可以达到多少, 枚举上一次不跑步是在哪天,则有转移 fi=maxij1kfj+v(j+1,i1)d(ij1), 其中 v(l,r) 表示 阅读全文
posted @ 2023-11-29 16:40 Jijidawang 阅读(39) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 10 下一页
点击右上角即可分享
微信分享提示