摘要: 题目传送门 思路 首先分情况讨论每种联通块的可能,有三种不同的情况会对答案 \(ans\) 产生不同的贡献。 联通块有环 如图,因为每条边都有要有归属,所以环上的边只能全都顺时针或逆时针属于某个点,且不在环上的点仅有一种可能。 因此该情况对答案的贡献为 \(ans \times 2\) 。 联通块为 阅读全文
posted @ 2024-08-01 13:28 FRZ_29 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题目传送门:AtCoder, luogu 也许更好的阅读体验 思路 设集合 \(V_i\) 表示第 \(i\) 次执行时经过的点的集合。 则答案即为这 \(k\) 次操作产生的集合的并集的大小(元素个数)。 每个集合的大小均为 \(|S|\) ,需处理每次操作后重复的部分。 假设第一次执行程序后(即 阅读全文
posted @ 2024-08-01 07:18 FRZ_29 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 题目传送门:codeforcces , luogu 思路 状压 dp ,贪心。 贪心 对于所有列,只有列中最大值在所有列的最大值中前 \(n\) 大才可能对答案有贡献。 证明:若有非前 \(n\) 大的列对某行最大值产生了贡献,则用没有被取的前 \(n\) 大的列代替该行一定更优。所以只有列中最大值 阅读全文
posted @ 2024-07-28 20:47 FRZ_29 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 题目传送门:codeforcces , luogu 思路 贪心,暴力搜索 贪心 对于所有列,只有列中最大值在所有列的最大值中前 \(n\) 大才可能对答案有贡献。 证明:若有非前 \(n\) 大的列对某行最大值产生了贡献,则用没有被取的前 \(n\) 大的列代替该行一定更优。所以只有列中最大值在所有 阅读全文
posted @ 2024-07-28 16:00 FRZ_29 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 思路 状态压缩 dp 。 状态压缩 dp 对于每一行,用一个 \(n\) 位二进制数表示每行的状态,则对于上下两行之间,设上行的数字为 \(a\) ,下行的数字为 \(b\) ,状态不合法有三种情况: \(a \operatorname{and} b \neq 0\) ,即存在上行与下行 阅读全文
posted @ 2024-07-28 13:06 FRZ_29 阅读(12) 评论(0) 推荐(0) 编辑
摘要: csp-j题解 update : 2024.6.18 - 2024.6.25:重构题解 第一题:小苹果 原题洛谷P9748 思路 n 表示当前长度 求几天取完:每天取走 \((n - 1) / 3 + 1\) 个苹果,记录几天取完 第 \(n\) 个苹果第几天被取走:当 \(n \bmod 3 = 阅读全文
posted @ 2024-07-27 22:45 FRZ_29 阅读(1411) 评论(0) 推荐(2) 编辑
摘要: Sudoku 来自蓝书 思路 优化搜索顺序,位运算常数优化。 优化搜索顺序 数独问题的搜索很简单,“搜索状态”就是每个位置上填了什么数。在每个状态下,选择一个未填位置,检查那些填入仍能满足数独条件(合法)的数字。构成的新的局面即为该状态的“分支”。 足够暴力的写法为依次对每个位置进行搜索,但盲目搜索 阅读全文
posted @ 2024-07-27 22:44 FRZ_29 阅读(42) 评论(0) 推荐(1) 编辑
摘要: P10463 Interval GCD 原题传送门 思路 首先,有个性质:对于任意多整数,它们的最大公约数与它们的差分序列的最大公约数相同,可以通过以下证明。 \(\forall a, b, c \in \mathbb{N} \text{,有} \gcd(a, b, c) = \gcd(a, b - 阅读全文
posted @ 2024-07-27 22:43 FRZ_29 阅读(19) 评论(0) 推荐(1) 编辑
摘要: 出自梦熊比赛后,梦熊比赛出原题了,忘周知。 也许更好的阅读体验 思路 全排列,差分约束,二分。 全排列 \(n \leq 8\) ,且要指定顺序,易想到用全排列枚举所有状态。 差分约束 在全排列之后,需要求得每种状态的最短距离。 定义所有骆驼的编号的集合为 \(S\) ,所有路的部分的编号的集合为 阅读全文
posted @ 2024-07-27 22:40 FRZ_29 阅读(8) 评论(0) 推荐(1) 编辑