摘要: P12506: 注意到 Sub 9 满足距离 \(\ge \frac{n}{2}\),这启发我们按照 \(\frac{n}{2}\) 个单位对平面直角坐标系分块。 这样分完块之后有一些很特殊的性质:对于每个块内,点可以直接连边且数量是 \(O(1)\) 级别的;同时,每个块只会向以他为中心 \(5 阅读全文
posted @ 2026-07-12 22:54 _KidA 阅读(15) 评论(0) 推荐(0)
摘要: 第一场 A 错因分析:没有将挖掘的性质有机组合。 正解:注意到奇数偶数相对位置不变,于是将它们分类提出,然后做归并排序即可。 总结:在草稿纸上写下观察出的性质,多想想联系! B 错因分析:不熟悉交互题。 正解: 一个朴素的思路就是枚举 \(1 \sim n\) 里的所有数,通过询问得知他们左半边有多 阅读全文
posted @ 2026-09-08 02:08 _KidA 阅读(9) 评论(0) 推荐(0)
摘要: 第一场 A 错因分析:没有从式子中最难的部分入手,导致完全没思路。 正解: 考虑去掉题目中的 \(\min\),想到从小到大枚举数值构造 \(p\),这样每次填入的第一个数就是最小值。 因为要求所有方案的权值和,考虑 dp。发现状态并不明显,所以先推转移。 分情况讨论:如果当前的数值填入以前的段,则 阅读全文
posted @ 2026-09-08 01:15 _KidA 阅读(7) 评论(0) 推荐(0)
摘要: https://www.luogu.com.cn/contest/354566 A 滚动数组优化倍增+双指针维护单调性 B 单调队列优化 dp+拼接思想 C 几何思维+倍增思想(题解) 阅读全文
posted @ 2026-09-07 21:47 _KidA 阅读(3) 评论(0) 推荐(0)
摘要: 算法原理 左半边贡献右半边。 注意普通偏序问题中可以把左右都递归再算贡献,但是 cdq 优化 dp 的问题中则需要严格按照递归左半边+算贡献+递归右半边的流程走。 板子 //不写边界条件 //偏序条件没有明确 //不移动指针 //排序数组初始指针与指针移动错误 //树状数组清空范围错误 #inclu 阅读全文
posted @ 2026-08-31 23:26 _KidA 阅读(8) 评论(0) 推荐(0)
摘要: FWT 快速沃尔什变换 一种以 \(O(n \times 2^n)\) 的时间复杂度快速计算位运算卷积的算法。 位运算卷积 分三种。 OR 卷积(并集卷积) \[c_k = \sum_{i \mid j=k} a_i \cdot b_j \]正变换即 SOS dp,逆变换即逆向 SOS dp。 证明 阅读全文
posted @ 2026-08-30 16:55 _KidA 阅读(7) 评论(0) 推荐(0)
摘要: SOS DP 简介 全称 Sum Over Subset DP,用于在 \(O(2^n \times n)\) 的复杂度内解决子集和问题。 算法原理 定义 \(dp_{k,mask}\) 表示只考虑二进制下从低到高前 \(k\) 位时,\(mask\) 的所有子集权值之和。 转移分类讨论: \(ma 阅读全文
posted @ 2026-08-27 19:35 _KidA 阅读(11) 评论(0) 推荐(0)
摘要: P6419(树的中心 dp 套路) 不难发现,司机总是进入一个子树然后原路返回,最后一个子树除外。 对于这种问题,我们不难想到树的中心的类似套路,维护 \(down_i,up_i,len1_i,len2_i\) 表示向子树内走的最少时间/子树外的最少时间/子树内的最长链/子树内的次长链。转移是套路的 阅读全文
posted @ 2026-08-27 00:49 _KidA 阅读(5) 评论(0) 推荐(0)
摘要: contest A(考虑影响 + 分类讨论) 首先,我们可以发现 \(c_i=0\) 这个限制很令人火大。 观察到题目中只存在子树内的操作,因此想到祖先节点的操作会影响当前节点。具体而言,我们发现当祖先节点操作了至少一次时,我们总能通过调整操作顺序使得当前节点 \(c_i=0\)。但如果一次都没有呢 阅读全文
posted @ 2026-08-24 22:58 _KidA 阅读(5) 评论(0) 推荐(0)
摘要: contest A(容斥 + cdq) 利用二维前缀和思想,考虑将一个询问拆成四个,然后将询问离线后转化为 \(x_i \le x_j,y_i \le y_j,t_i \le t_j\)(\(t\) 是输入顺序)的三维偏序问题,使用 cdq 分治即可解决。注意 \(x,y,t\) 相同时需保证修改在 阅读全文
posted @ 2026-08-24 11:16 _KidA 阅读(10) 评论(0) 推荐(0)
摘要: 点分治 简介 点分治是一种高效处理树上路径统计问题的分治算法,适用于: 统计满足条件的路径。 求最长/最短路径 求路径权值的第 \(k\) 大/小 其他各类可合并的路径性质统计 算法原理 对于一棵树,所有路径可分为两类: 不经过根节点的路径(完全在某一子树内部) 经过根节点的路径 然后我们可以分别对 阅读全文
posted @ 2026-08-16 22:11 _KidA 阅读(8) 评论(0) 推荐(0)