随笔分类 -  题解

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

1 2 3 4 5 ··· 10 下一页