摘要: A. 符文大陆 错误原因: 模的太多,错误地对所有增量及最终答案都取模 10007 了。会把中间计算的超过 10007 值都模了,导致大数据错误。 错误代码: #include <bits/stdc++.h> using namespace std; const int mod = 10007; i 阅读全文
posted @ 2026-05-08 21:35 liuyc0120 阅读(6) 评论(0) 推荐(0)
摘要: P2015 二叉苹果树 题意:保留 \(Q\) 条边并包含根节点的连通分量,求边权和最大。 定义 \(f_{i,j}\) 表示以 \(i\) 为根的子树保留 \(j\) 条边的最大值。 有 \(3\) 种情况: 保留连左儿子的边,从根节点保留 \(Q\) 条边 \(=\) 从左儿子保留 \(Q-1\ 阅读全文
posted @ 2026-05-06 16:54 liuyc0120 阅读(2) 评论(0) 推荐(0)
摘要: 不要把数组转成字符串,不然会很难处理 阅读全文
posted @ 2026-04-06 19:40 liuyc0120 阅读(2) 评论(0) 推荐(0)
摘要: 洛谷原题:P7404 [JOI 2021 Final] 有趣的家庭菜园 4 / Growing Vegetables is Fun 4 思路 由题可知,操作完后序列 \(A\) 的前半段为严格递增序列,后半段为严格递减序列。因此考虑使用差分。 定义: \(d_i=a_i-a_{i-1}\), \(p 阅读全文
posted @ 2026-04-04 10:08 liuyc0120 阅读(7) 评论(0) 推荐(0)
摘要: 洛谷原题:P9533 [YsOI2023] 区间翻转区间异或和 思路 算法:前缀异或和(\(⨁_{i=l}^ra_i\)) 思路:可以发现,与模板题相比本题多了一个翻转操作,所以接下来需要证明翻转操作没有对答案造成影响。 证明 设翻转区间 \([L..R]\). 得到新序列 \(b_{1} , \l 阅读全文
posted @ 2026-04-03 22:57 liuyc0120 阅读(5) 评论(0) 推荐(0)
摘要: 2026/3/28 16:14 二分中位数的模板如下: bool check1(long long x) { long long cnt1 = 0, cnt2 = 0; for (long long i = 1; i <= n; i++) { if (a[i].l2 > x) cnt2 += a[i 阅读全文
posted @ 2026-03-28 16:54 liuyc0120 阅读(2) 评论(0) 推荐(0)
摘要: 离散化二分的时候一定要看清楚总数啊!!! lower_bound(b + 1, b + 1 + len, a[i])√ lower_bound(b + 1, b + 1 + n, a[i])× 阅读全文
posted @ 2026-03-28 16:36 liuyc0120 阅读(2) 评论(0) 推荐(0)
摘要: 先从 dfs 想状态定义(个数,最大值,最小值),\(dp_{i, j}\) 表示分 \(i\) 个人的小组,已选择了 \(j\) 个,最大的讨论积极度。 接下来,思考如何给小组加人:一点贪心思想,\(c_i\) 排序,每次一头一尾选人。 状态转移方程:\(dp_{i, j}= max(dp_{i, 阅读全文
posted @ 2026-03-11 15:24 liuyc0120 阅读(4) 评论(0) 推荐(0)