摘要: 前言 题目链接:洛谷。 题意简述 一棵有根树,节点数 \(n \leq 10^5\),每个点有权值 \(v_i \leq 2000\),现在选出一些点,满足: 一个点的父亲点若未被选择则其不能被选择。 所选点的集合内不能有相同的权值。 对于每一个选择的点,其子树中所有被选择点的权值必须可以构成公差为 阅读全文
posted @ 2024-07-22 22:21 XuYueming 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 前言 题目链接:洛谷。 题意简述 给出序列 \(a_1 \ldots a_n\) 和常数 \(l \leq n\),定义: \[\operatorname{dis}(i, j) = \sum _ {k = 0} ^ {l - 1} [a_{i + k} \neq a_{j + k}] \qquad 阅读全文
posted @ 2024-07-22 17:06 XuYueming 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 前言 题目链接:洛谷。 这道题有很多做法,但是模拟赛寄了,故记之。 题意简述 给你两个长为 \(n\) 的序列 \(A\) 和 \(B\),和一个常数 \(c \leq 20\),有 \(q\) 次修改。每次修改后求: \[\large \sum _ {S \subseteq \lbrace i \ 阅读全文
posted @ 2024-07-22 15:57 XuYueming 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 前言 圆方树学习笔记,从一道例题讲起。 题目链接:Hydro & bzoj。 题意简述 仙人掌上求两点距离。 题目分析 为了把仙人掌的性质发挥出来,考虑将其变成一棵树。圆方树就是这样转换的工具。 先讲讲圆方树的概念:原图上的点为圆点,每个点双对应一个方点,树边都是方点连向点双内的圆点。 具体代码实现 阅读全文
posted @ 2024-07-21 16:35 XuYueming 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 题意简述 一棵以 \(1\) 为根的树,儿子间有先后顺序。初始每个结点上有一个警卫,警卫按照深度优先遍历其子树,儿子间的先后顺序体现在这里,回到起始点后开始新一轮的遍历。yzh 想要从 \(S\) 走到 \(1\),请问她会在路上遇到多少警卫(\(S\) 点的也算)。 题目分析 法 \(1\) 先来 阅读全文
posted @ 2024-07-21 15:42 XuYueming 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 前言 题目链接:洛谷;Hydro & bzoj。 题意简述 yzh 喜欢写 DS 题!你要维护一个环: 顺时针移动 \(k\) 位; 翻转 \(2 \sim n\); 交换 \(i\) 与 \(j\); 区间覆盖; 查询整个环有几个颜色段; 查询 \(i \sim j\) 有几个颜色段。 题目分析 阅读全文
posted @ 2024-07-19 14:31 XuYueming 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 前言 题目链接:洛谷;Hydro & bzoj。 题意简述 警察希望能在 \(n\) 个人里面,查出谁是杀手。警察能够对每一个人进行查证,假如查证的对象是平民,他会告诉警察,他认识的人,谁是杀手,谁是平民。假如查证的对象是杀手,杀手将会把警察干掉。现在警察掌握了每一个人认识谁。每一个人都有可能是杀手 阅读全文
posted @ 2024-07-13 16:07 XuYueming 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 前言 题目链接:洛谷。 题意简述 你要对一个数组排序,满足 \(a_{i + 1} \leq a_i + D\),其中 \(D\) 是给定的常数。求方案数对 \(10^9+9\) 取模的结果。 题目分析 原数组顺序不重要,且我们讨论的东西关于大小比较,考虑先对其排序。考虑使用增量法,把 \(i\) 阅读全文
posted @ 2024-07-13 15:55 XuYueming 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 前言 题目链接:洛谷。 题意简述 树套环上求至少间隔两个位置的最大独立集。 (树套环,即树上每个结点都是一个结点或环) 题目分析 将题目拆解成树上 DP 和环上 DP 即可。用 tarjan 缩点就行。 树上 DP 先来看看树上 DP。 显然每个点有三个状态:不选中且周围没选中、选中、不选中但在选中 阅读全文
posted @ 2024-07-13 14:53 XuYueming 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 前言 题目链接:洛谷。 题意简述 你被困在一个被划分为 \(2500 \times 2500\) 的二维平面内!平面上有 \(n\)(\(n \leq 250000\))个岛屿你可以停留,你可以在这些岛屿之间行走,但是你只能走到严格在当前岛屿的左上或右下的岛屿。即目标点 \((x', y')\) 满 阅读全文
posted @ 2024-07-11 11:20 XuYueming 阅读(3) 评论(0) 推荐(0) 编辑