随笔分类 -  题解

摘要:题目传送门 前置知识 可持久化线段树 | 前缀和 & 差分 解法 进行差分,区间查询转化成前缀和相减。 先将 \(\{ a \}\) 升序排序。 设当前询问的区间为 \([1,r]\),在 \(\{ a \}\) 中找到一个最大的 \(pos\) 使得 \(a_{pos} \le r\),则 \([ 阅读全文
posted @ 2024-09-06 20:37 hzoi_Shadow 阅读(30) 评论(0) 推荐(1)
摘要:题目传送门 前置知识 预设性 DP 解法 考虑统计每个数单独的贡献,然后进行预设性 DP。 设 \(f_{i,j}\) 表示当前填了 \([1,i]\) 时有 \(j\) 个连续段的最小权值,边界为 \(f_{0,0}=0\)。 对 \(i(i \ne s,i \ne e)\) 填入的位置进行分讨。 阅读全文
posted @ 2024-09-05 20:35 hzoi_Shadow 阅读(26) 评论(1) 推荐(2)
摘要:题目传送门 前置知识 欧拉序 | 区间 DP | 乘法原理 解法 颜色序列本质上是欧拉序,故考虑区间 DP。 设 \(f_{l,r}\) 表示 \([l,r]\) 对应的二叉树的个数,状态转移方程为 \(f_{l,r}=\begin{cases} 1 & l=r \\ [s_{l}=s_{r}] \ 阅读全文
posted @ 2024-08-26 18:02 hzoi_Shadow 阅读(59) 评论(0) 推荐(1)
摘要:题目传送门 前置知识 AC 自动机 解法 多模式串匹配考虑 AC 自动机。 令 \(f_{i,j}\) 表示前 \(i\) 个字符,当前运行到 AC 自动机的状态 \(j\) 时的最大得分。状态转移方程为 \(f_{i,k}=\max\limits_{k \in Son(j)} \{ f_{i-1, 阅读全文
posted @ 2024-08-25 09:32 hzoi_Shadow 阅读(20) 评论(0) 推荐(1)
摘要:题目传送门 前置知识 单调队列/单调栈优化 解法 在仓库 \(1\) 和 \(n\) 之间把环断开,然后复制一倍接在末尾,形成长度为 \(2n\) 的直线公路,即有 \(a_{i}=a_{i+n} (1 \le i \le n)\)。 对于原来环形公路上的任意两座仓库 \(i,j(1 \le j<i 阅读全文
posted @ 2024-08-24 21:09 hzoi_Shadow 阅读(36) 评论(0) 推荐(1)
摘要:题目传送门 前置知识 树形 DP 解法 将 \(a_{i}\) 向 \(i\) 连一条有向边,这样就形成了基环外向树森林。 设 \(f_{x,0/1}\) 表示 \(x\) 不选/选时,以 \(x\) 为根的子树的最多选择个数,状态转移方程为 \(\begin{cases} f_{x,0}=\sum 阅读全文
posted @ 2024-08-24 21:06 hzoi_Shadow 阅读(47) 评论(0) 推荐(1)
摘要:题目传送门 前置知识 可持久化字典树 | 分块思想 解法 考虑分块预处理整块的答案,散块直接暴力。 设 \(f_{i,j}\) 表示以 \(i\) 所在的块的左端点为左端点,\(j\) 为右端点的最大异或和,可持久化 01-Trie 维护即可。 本题中这种写法比处理整块到整块的答案更容易处理些。 整 阅读全文
posted @ 2024-08-24 14:17 hzoi_Shadow 阅读(21) 评论(0) 推荐(1)
摘要:题目传送门 前置知识 可持久化线段树 解法 若区间内不存在绝对众数,直接保持这一段即可。 若存在绝对众数,贪心地想肯定要尽可能地把其分开还要限制出其他数使其不成为绝对众数。容易发现设绝对众数出现次数为 \(cnt\),取 \(cnt-1\) 个其他数和绝对众数配对最优。但可能其他数不够 \(cnt\ 阅读全文
posted @ 2024-08-23 20:36 hzoi_Shadow 阅读(18) 评论(1) 推荐(1)
摘要:题目传送门 前置知识 AC 自动机 | 树状数组 解法 一次性将所有模式串加入 AC 自动机,然后处理加入和删除,考虑单次操作对答案的贡献。 因为模式串 \(T\) 在文本串 \(S\) 中出现的次数之和等价于 \(T\) 在 \(S\) 的所有前缀中作为后缀出现的次数之和。这就很和 \(fail\ 阅读全文
posted @ 2024-08-22 21:29 hzoi_Shadow 阅读(27) 评论(0) 推荐(2)
摘要:题目传送门 前置知识 珂朵莉树/颜色段均摊 | 树状数组 | 扫描线 解法 同 luogu P5524 [Ynoi2012] NOIP2015 充满了希望,询问时扫描线维护,树状数组维护时间戳(单点修改区间查询)即可。前者具体部分看我 luogu P5524 [Ynoi2012] NOIP2015 阅读全文
posted @ 2024-08-18 21:27 hzoi_Shadow 阅读(28) 评论(0) 推荐(1)
摘要:题目传送门 前置知识 树的直径 | 最近公共祖先 | 并查集 解法 一个显而易见的结论:设点集 \(A\) 的直径的两个端点为 \(u_{1},v_{1}\),另一个点集 \(B\) 的直径的两个端点为 \(u_{2},v_{2}\),则 \(A \bigcup B\) 的直径端点一定是 \(\{ 阅读全文
posted @ 2024-08-16 16:56 hzoi_Shadow 阅读(36) 评论(0) 推荐(1)
摘要:题目传送门 前置知识 树链剖分 | 树的直径 | 最近公共祖先 | 并查集 解法 正着删边不太可做,考虑离线下来反着加边。 一个显而易见的结论:设点集 \(A\) 的直径的两个端点为 \(u_{1},v_{1}\),另一个点集 \(B\) 的直径的两个端点为 \(u_{2},v_{2}\),则 \( 阅读全文
posted @ 2024-08-16 16:05 hzoi_Shadow 阅读(69) 评论(2) 推荐(2)
摘要:题目传送门 前置知识 CDQ 分治 | 权值树状数组及应用 | 曼哈顿距离与切比雪夫距离的相互转化 解法 增加一维为时间戳,那么操作 \(1\) 等价于单点加。 曼哈顿距离直接跑 CDQ 分治,貌似不太可做,考虑转化为切比雪夫距离。 原曼哈顿坐标系中的点 \((x_{1},y_{1}),(x_{2} 阅读全文
posted @ 2024-08-15 15:32 hzoi_Shadow 阅读(23) 评论(0) 推荐(1)
摘要:题目传送门 前置知识 CDQ 分治 解法 单点修改区间查询,但值域巨大,考虑离散化掉 \(x\)。 时刻 \(t\) 仍很大,考虑将其作为 CDQ 分治的第一维,然后套个 CDQ 分治即可,注意及时清空桶数组。 代码 #include<bits/stdc++.h> using namespace s 阅读全文
posted @ 2024-08-09 20:36 hzoi_Shadow 阅读(22) 评论(0) 推荐(1)
摘要:题目传送门 前置知识 CDQ 分治 | 权值树状数组及应用 解法 增加一维为 DFS 序,然后就转化成了三维偏序问题,可以使用 CDQ 分治求解。 此时等价于求 \(red_{j} \le red_{i},blue_{j} \le blue_{i},dfn_{i}<dfn_{j} \le out_{ 阅读全文
posted @ 2024-08-09 15:21 hzoi_Shadow 阅读(32) 评论(0) 推荐(2)
摘要:题目传送门 前置知识 线段树 | 树链剖分 解法 观察到要维护树上信息,且更改的呈链状,考虑进行树链剖分。 将边权转化成点权,钦定边权给了深度更深的那个点,注意更新时不能更新 \(\operatorname{LCA}\)。 区间赋值和单点查询用线段树维护即可。 代码 #include<bits/st 阅读全文
posted @ 2024-08-09 10:27 hzoi_Shadow 阅读(20) 评论(0) 推荐(1)
摘要:题目传送门 前置知识 线段树 解法 需要维护区间信息,考虑使用线段树维护。 预处理出 \(\overline{xx \dots x}\),其中 \(x \in \{1,2,3,4,5,6,7,8,9 \}\),便于区间赋值。 然后就是普通的线段树板子了。 代码 #include<bits/stdc+ 阅读全文
posted @ 2024-08-05 19:28 hzoi_Shadow 阅读(26) 评论(2) 推荐(2)
摘要:题目传送门 前置知识 一般的积性函数 | 数论分块 | 莫比乌斯反演 解法 令 \(n \le m\)。 考虑莫比乌斯反演,推式子,有 \(\begin{aligned} &\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}\operatorname{lcm}(i, 阅读全文
posted @ 2024-07-30 19:57 hzoi_Shadow 阅读(25) 评论(0) 推荐(2)
摘要:题目传送门 前置知识 二分答案 | 树形 DP 解法 答案显然具有单调性,考虑二分答案。 设当前二分出的答案为 \(mid\),则等价于覆盖距离为 \(mid\) 的情况下进行选点。 做法同 luogu P3942 将军令 ,考虑进行贪心,对于深度最深的叶节点将选择的点放在边界时,即取 \(mid\ 阅读全文
posted @ 2024-07-25 15:14 hzoi_Shadow 阅读(33) 评论(0) 推荐(1)
摘要:题目传送门 前置知识 权值树状数组及应用 解法 由 [ABC351F] Double Sum 的套路,尝试展开绝对值及 \(\min,\max\)。 将式子拆开有 \(\begin{aligned} & \min\limits_{k=0}^{n-1}\{ \sum\limits_{i=1}^{n-k 阅读全文
posted @ 2024-07-20 19:38 hzoi_Shadow 阅读(24) 评论(0) 推荐(1)

扩大
缩小