随笔分类 -  题解

摘要:题目传送门 前置知识 树状数组 | 序列分治 解法 考虑序列分治,设因 maxmin 形成的分节点先后为 k1,k2。 对于 j(mid,k1],等价于统计满足 \(\max\limits_{h=i}^{mid} \{ a_{h} 阅读全文
posted @ 2025-01-10 20:34 hzoi_Shadow 阅读(14) 评论(0) 推荐(1) 编辑
摘要:题目传送门 前置知识 李超线段树 | 扫描线 解法 自边缘处起跳等价于找到与 x=x2 相交的直线中最大的 yy2。普通的李超线段树不支持删除操作,直接套用貌似很难处理。 观察到若能从 (x1,y1)(x2,y2) 跳跃 阅读全文
posted @ 2025-01-06 19:46 hzoi_Shadow 阅读(10) 评论(2) 推荐(1) 编辑
摘要:题目传送门 前置知识 最短路 | 最近公共祖先 | 虚树 解法 题目中所说的 回收路线树 即以 k 为根节点的最短路径树,可以使用 Dijkstra 构建。 标记 回收区域 本质上是对 回收区域 构建虚树,然后就和 luogu P2495 [SDOI2011] 消耗战 基本一致了,根据儿子节 阅读全文
posted @ 2025-01-04 15:14 hzoi_Shadow 阅读(10) 评论(0) 推荐(1) 编辑
摘要:题目传送门 前置知识 线段树与离线询问 解法 普通的回退背包无法处理本题中的删除操作,考虑线段树分治后转化为只进行添加的背包。 具体实现时可以对每个深度开一个背包的转移数组,时间复杂度为 O(nklogq+qk),可以接受。 代码 #include<bits/stdc++.h> usi 阅读全文
posted @ 2025-01-01 16:54 hzoi_Shadow 阅读(12) 评论(0) 推荐(2) 编辑
摘要:题目传送门 前置知识 珂朵莉树/颜色段均摊 解法 观察到只有 =x 的位置才是重要的,而其他位置上的数具体是什么并不重要,我们只需要关注其大小关系。 第一遍将 x 的数看做 1,将 <x 的数看做 0。第二遍将 >x 的数看做 1,将 阅读全文
posted @ 2024-12-30 11:34 hzoi_Shadow 阅读(24) 评论(5) 推荐(1) 编辑
摘要:题目传送门 前置知识 曼哈顿距离与切比雪夫距离的相互转化 解法 将切比雪夫距离转换成曼哈顿距离,有新坐标为 (xi+yi2,xiyi2),因带一个 12 的常数不妨提出来得到 \((x_{i}'=x_{i 阅读全文
posted @ 2024-12-26 21:38 hzoi_Shadow 阅读(25) 评论(0) 推荐(2) 编辑
摘要:题目传送门 前置知识 Boruvka 算法 解法 考虑 Boruvka 算法。 拆掉绝对值后得到 ai+id,aiid,aj+id,ajid 四个式子。 vector 启发式合并辅助线段树查询的常数过大,无法通过。上述做法的常数在于一条边会被计算两次,考虑优化。 阅读全文
posted @ 2024-12-23 11:20 hzoi_Shadow 阅读(9) 评论(0) 推荐(2) 编辑
摘要:题目传送门 前置知识 同余最短路 解法 考虑同余最短路,设 disi 表示 moda1=i 时能被拼成的最小值,接着只需要判断是否有 disbmoda1b 即可。 直接建边的空间复杂度为 O(nV) ,无法接受。但我们发 阅读全文
posted @ 2024-12-21 21:03 hzoi_Shadow 阅读(16) 评论(0) 推荐(1) 编辑
摘要:题目传送门 前置知识 矩阵加速递推 解法 设 fi 表示将 s1si 拼起来后的值,状态转移方程形如 fi=10kfi1+si ,其中 \(k=\left\lfloor \log_{10}s_{i} \right\rfl 阅读全文
posted @ 2024-12-18 15:54 hzoi_Shadow 阅读(16) 评论(0) 推荐(1) 编辑
摘要:你怎么知道我不但莫队的奇偶性排序写错了,还把块长、块数写反了 阅读全文
posted @ 2024-11-14 14:29 hzoi_Shadow 阅读(23) 评论(1) 推荐(2) 编辑
摘要:题目传送门 前置知识 差分 解法 对于移动,我们可以无脑进行交换来保证移动,然后将中途交换的位置再交换回去。 通过手摸不难发现,pi 能移动到 i 当且仅当 smin(i,pi)max(i,pi) 中不含有 LR 子串。 反向考虑,即 阅读全文
posted @ 2024-11-10 14:17 hzoi_Shadow 阅读(37) 评论(0) 推荐(1) 编辑
摘要:题目传送门 前置知识 后缀数组简介 | 字符串哈希 | 二分 解法 考虑分别计算出编辑距离恰好等于 k0[0,k] 的答案。 观察在编辑距离的存在下,长度差至多为 k。 考虑设 fi,j 表示最大的 x 使得 s1x阅读全文
posted @ 2024-11-08 10:50 hzoi_Shadow 阅读(28) 评论(0) 推荐(3) 编辑
摘要:题目传送门 前置知识 线段树优化建图 | 最短路 解法 考虑对票建虚点,从 cii+n 连一条权值为 pi 的边,然后从 i+n[ai,bi] 连一条权值为 0 的边。 建出反图后 1i 和 \(n 阅读全文
posted @ 2024-11-08 07:48 hzoi_Shadow 阅读(24) 评论(0) 推荐(2) 编辑
摘要:题目传送门 前置知识 最大公约数 解法 gcdor 在固定左端点的情况下至多会变化 O(logV) 次。 以 gcd 为例,考虑求出所有的四元组 (l,r,x,val) 表示 \(\forall i \in [l,r 阅读全文
posted @ 2024-10-16 11:17 hzoi_Shadow 阅读(35) 评论(2) 推荐(1) 编辑
摘要:题目传送门 前置知识 线性基 解法 将操作离线下来,并按 {l} 升序排序,接着顺序插入线性基并处理询问。 对于未成功插入线性基的元素 k 一定能被线性基内选出若干元素得到。故在 x 能被表出的情况下,设 1l 中成功插入线性基的元素个数为 \(s 阅读全文
posted @ 2024-10-10 17:01 hzoi_Shadow 阅读(15) 评论(0) 推荐(2) 编辑
摘要:题目传送门 前置知识 线性基 解法 考虑线性基。 因为有可空子序列也参与运算,所以第 1 小的数是 0;但线性基中是不允许有异或和为 0 的存在,故线性空间内第 k1 小的数就是所求的第 k 小的数。 令每一个二进制位仅在它这一位的基底上出现,其他位上的基底 阅读全文
posted @ 2024-10-10 16:04 hzoi_Shadow 阅读(18) 评论(2) 推荐(2) 编辑
摘要:题目传送门 前置知识 最长不下降子序列 | 权值树状数组及应用 解法 若将 {a} 变成严格递增序列,至少需要更改 n 减去 {aii} 的最长不下降子序列长度个数。 证明 对于 ai,aj(i<j) 若都在最终的严格递增序列里,则 阅读全文
posted @ 2024-10-05 18:13 hzoi_Shadow 阅读(30) 评论(0) 推荐(1) 编辑
摘要:题目传送门 前置知识 将动态问题转化为静态问题 | 树状数组 解法 先将英雄按 {l} 升序排序,从而减少一维偏序。 设 fi 表示以 i 结尾的最长合法序列长度,状态转移方程为 \(f_{i}=\max\limits_{j=1}^{i-1}\{ [a_{j} 阅读全文
posted @ 2024-09-30 08:10 hzoi_Shadow 阅读(16) 评论(0) 推荐(1) 编辑
摘要:题目传送门 前置知识 动态树分治 | 动态开点线段树 | 标记永久化 解法 考虑动态点分治。 两种操作本质上是将 luogu P6329 【模板】点分树 | 震波 的操作互换了下,将原需支持单点修改、区间查询的数据结构换成需支持区间修改、单点查询的数据结构即可。 区间修改、单点查询的动态开点线段树可 阅读全文
posted @ 2024-09-27 15:27 hzoi_Shadow 阅读(32) 评论(2) 推荐(1) 编辑
摘要:题目传送门 前置知识 点分治 | 树状数组 解法 维护点对信息,考虑点分治。 本题比 luogu P4149 [IOI2011] Race 多了个前缀查询 max。套个支持单点修改、区间查询 max 的数据结构即可。 直接线段树维护区间 max 貌似会 TLE,换成树状 阅读全文
posted @ 2024-09-23 21:18 hzoi_Shadow 阅读(15) 评论(0) 推荐(1) 编辑

扩大
缩小
点击右上角即可分享
微信分享提示