摘要: 排列的环分解 单次交换操作的效果: 当交换元素属于不同环时 \(\to\) 合并两个环 当交换元素属于同一个环时 \(\to\) 将该环分裂为两个 由于所有环的长度之和为 \(N\),且每个环长度均为正整数,因此不同的环长度数量最多只有 \(O(\sqrt{N})\) 种 随机置换的期望循环数为调和 阅读全文
posted @ 2025-09-03 16:26 V_Melville 阅读(88) 评论(0) 推荐(0)

摘要: 1. 在两个数列之间 有两个整数数列 \(a_1,a_2,\cdots,a_n\) 和 \(b_1,b_2,\cdots,b_n\)。我们的任务是找出满足以下条件的数列 \(c_1,c_2,\cdots,c_n\): 对 \(i=1,2,\cdots,n\),\(a_i \le c_i \le b_ 阅读全文
posted @ 2024-06-19 17:15 V_Melville 阅读(73) 评论(0) 推荐(1)

摘要: AGC020C. Median Sum 记原序列的总和为 \(S\) 容易发现如果把空集也考虑进去的话,在左边任取一个子集,其和为 \(x\),那么一定可以在右边找到一个子集满足它的和为 \(S - x\)。也就是说,位于权值为 \(\frac{S}{2}\) 的左右两边的子集是对称的。 于是,我们 阅读全文
posted @ 2024-06-07 21:43 V_Melville 阅读(85) 评论(0) 推荐(0)

2026年10月26日

摘要: A. Strange Subset Sum 若 \(n\) 为偶数且 \(\frac n2\) 不在集合 \(A\) 中,则在 \(\frac n2-1\) 个数对 \((1, n-1), (2, n-2), \dots, (\frac n2-1, \frac n2+1)\) 中,必然至少有一个数对 阅读全文
posted @ 2026-10-26 14:59 V_Melville 阅读(8) 评论(0) 推荐(0)

2026年10月25日

摘要: C. Bank Accounts \(\text{map}\) 代码实现 #include <bits/stdc++.h> #define rep(i, n) for (int i = 0; i < (n); ++i) using namespace std; int main() { int q; 阅读全文
posted @ 2026-10-25 14:45 V_Melville 阅读(17) 评论(0) 推荐(0)

2026年10月18日

摘要: ABC第11次ak成就达成! 阅读全文
posted @ 2026-10-18 14:08 V_Melville 阅读(57) 评论(0) 推荐(0)

2026年10月16日

摘要: C. Bento Packing 二进制枚举 代码实现 #include <bits/stdc++.h> #define rep(i, n) for (int i = 0; i < (n); ++i) using namespace std; using ll = long long; int ma 阅读全文
posted @ 2026-10-16 18:23 V_Melville 阅读(10) 评论(0) 推荐(0)

2026年10月15日

摘要: H. Add and Mod 对于一个区间,维护三个信息: \(\text{sum}\):区间内所有正数的总和。 \(\text{suf}\):最后一个 \(A_i=0\) 之后的正数之和;如果区间内没有零,则 \(\text{suf} = \text{sum}\)。 \(\text{zero}\) 阅读全文
posted @ 2026-10-15 15:05 V_Melville 阅读(11) 评论(0) 推荐(0)

2026年10月6日

摘要: A. Two Dimensional Invader 记 dp[i][j] 表示处于坐标 \((i, j)\) 时的最小代价。 将欧几里得距离的移动拆分为两个阶段处理: 第一阶段采用“接收型”的思想处理 \(x\) 坐标移动; 第二阶段采用“刷表型”的思想处理 \(y\) 坐标移动。 由于中间每次都 阅读全文
posted @ 2026-10-06 16:16 V_Melville 阅读(19) 评论(0) 推荐(0)

2026年10月4日

摘要: C. Sort Subarray 计算排序后数组与原数组相同的最长前缀长度 \(l\) 和后缀长度 \(r\),若 \(n−l−r≤k\) 则能通过一次对某个长度为 \(k\) 的区间排序使整个数组有序。 代码实现 #include <bits/stdc++.h> #define rep(i, n) 阅读全文
posted @ 2026-10-04 20:56 V_Melville 阅读(14) 评论(0) 推荐(0)

2026年9月27日

摘要: C. Range Search Query 遍历每个位置 \(i\),判断 \(S\) 中从 \(i\) 开始的长度为 \(m\) 的子串是否和 \(T\) 匹配,如果是则记 \(o[i] = 1\),否则记 \(o[i] = 0\) 然后维护一个 \(\text{next}\) 数组,\(\tex 阅读全文
posted @ 2026-09-27 20:08 V_Melville 阅读(18) 评论(0) 推荐(0)

2026年9月21日

摘要: 这一场打的比上一场还差,但还是上橙了(另外cf上个月刚上红 阅读全文
posted @ 2026-09-21 15:38 V_Melville 阅读(33) 评论(0) 推荐(0)

2026年9月20日

摘要: C. Third Largest Number 维护前 \(3\) 大的数,比较好的实现是开一个大小为 \(3\) 的数组,每加入一个数,做一遍排序,然后弹出最小的数 代码实现 #include <bits/stdc++.h> #define rep(i, n) for (int i = 0; i 阅读全文
posted @ 2026-09-20 15:06 V_Melville 阅读(80) 评论(0) 推荐(2)