随笔分类 -  杂题选记

乱学之美
摘要:P12029 [USACO25OPEN] Election Queries G 记 \(c_i\) 为投票给 \(i\) 的人数。那么两头奶牛 \(x\),\(y\) 能成为领队的条件是 \(c_x + c_y \ge c_max\),其中 \(c_max = \max{c_i}\)。 考虑单次查询 阅读全文
posted @ 2025-11-05 11:38 Hengsber 阅读(6) 评论(0) 推荐(0)
摘要:P3702 [SDOI2017] 序列计数 首先至少 1 个质数可以容斥成随便选 - 只选合数。然后注意到第二维很小,直接矩阵快速幂即可。 Code #include <bits/stdc++.h> using namespace std; const int M = 2e7 + 5, K = 1e 阅读全文
posted @ 2025-10-21 22:30 Hengsber 阅读(11) 评论(0) 推荐(0)
摘要:P12026 [USACO25OPEN] Compatible Pairs S 首先如果一个点只能与一个点匹配,那肯定优先满足他。然后难点在于发现图上总是有一个度数为 1 的点(没有环)。因为如果 \(a\),\(b\),\(c\) 三个不同的点互相有环的话那么 \(a + b\),\(b + c\ 阅读全文
posted @ 2025-10-19 11:07 Hengsber 阅读(7) 评论(0) 推荐(1)
摘要:P4797 [CEOI 2015] 波将金的路径 题目要我们找一个环长 \(\ge 4\) 的环,使得这个环没有弦。难点显然在这个没有弦的限制。如果我们直接找最小环,可能会找到一个三元环,虽然没有弦了,但也不满足题目的要求。 一个人类智慧的点边转换,考虑对边之间连边。初步想法是将 \((u, v)\ 阅读全文
posted @ 2025-10-08 18:58 Hengsber 阅读(19) 评论(0) 推荐(0)
摘要:P5363 [SDOI2019] 移动金币 Staircase-Nim 加计数。 首先怎么转化成 Staircase-Nim 呢,可以把每个金币右边到下一个金币中间那些空的地方看成这个金币的石子,那么每次金币的向左移动就是把石子从右边金币的堆移到左边金币的堆。注意最右侧也有可能有空的部分,这一部分不 阅读全文
posted @ 2025-10-04 23:32 Hengsber 阅读(11) 评论(0) 推荐(0)
摘要:P6619 [省选联考 2020 A/B 卷] 冰火战士 树状数组倍增板子。 Code #include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 2e6 + 5; #define lowbit( 阅读全文
posted @ 2025-09-16 23:39 Hengsber 阅读(11) 评论(0) 推荐(0)
摘要:P5909 挂坠 经典贪心:\(n\) 个任务,有时长 \(w_i\) 和必须在 \(c_i\) 之前开始的限制,求最多能完成几个任务。 交换邻项,可得策略按 \(w_i + c_i\) 从小到大排序。然后在按重量反悔贪心,发现两问一起解决了。 Code #include <bits/stdc++. 阅读全文
posted @ 2025-09-07 23:04 Hengsber 阅读(9) 评论(0) 推荐(0)
摘要:P3493 WSP-Island 调了很久,并发现了一些求半平面交的细节。 1.优雅地求两个直线的交点 考虑 \(l_1 : P_1 + k \times \vec{v_1}\) 和 \(l_2 : P_2 + t \times \vec{v_2}\) 的交点 \(O\)。假设 \(\vec{P_2 阅读全文
posted @ 2025-08-31 21:56 Hengsber 阅读(13) 评论(0) 推荐(0)
摘要:P2546 SZK - Mirror trap 第一问是 \(n / 2\)。我们考虑一条从顶点射出的光线,因为射出点不同,所以光线之间不会相交。而一个从顶点射出的光线一定会终止于某个顶点,所以是一一对应的。 构造方案的话,考虑旋转 45°,这样光线就是垂直于坐标轴的。然后维护连通性,具体来说,\( 阅读全文
posted @ 2025-08-24 21:49 Hengsber 阅读(11) 评论(0) 推荐(0)
摘要:P3457 POW-The Flood 当发现合并两个连通块会破坏一些性质时,可以考虑边合并边求出答案,贴一道相似思路以前也没做出来的题 Cave Paintings。 Code #include <bits/stdc++.h> using namespace std; const int N = 阅读全文
posted @ 2025-08-19 19:22 Hengsber 阅读(11) 评论(0) 推荐(0)
摘要:P4204 奥运物流 这个是所谓贡献后效性的 dp 问题,详见 2009 年徐源盛的论文。 Code #include <bits/stdc++.h> using namespace std; typedef long double ldb; const int N = 65; int n, m, 阅读全文
posted @ 2025-08-16 21:31 Hengsber 阅读(10) 评论(0) 推荐(0)