
Codeforces Round
文章平均质量分 90
_Equinox
分享学习过程
展开
-
Codeforces Round 991 (Div. 3) 个人题解
最简单的一集原创 2024-12-06 10:38:22 · 847 阅读 · 0 评论 -
Codeforces 988div3 [A-G]个人题解
从5开始,我们奇数放一边,偶数放一边,奇数相加和偶数相加都是合数,只需找到一对奇数偶数之和为合数,最小的pair 为 4 + 5 = 9。定义 f[i] 为 到达 i 的路径数,sum[p1 p2 ... pk] 为 到达 被 p1 p2 ... pk整除的节点的路径数。即:f[i] += Σ sum[p1 p2 ... pk] * sign,sgn = (-1)^{k + 1}直接堆模拟即可,就是在不得不拿的时候,拿前面能拿的当中最大的那个。然后预处理 facs[i],即 a[i] 的质因子集合。原创 2024-11-18 12:07:50 · 814 阅读 · 0 评论 -
Codeforces 979 div2[A~D] 个人题解
对于i,如果 diff[i] > 0 并且 s[i] = 'L' s[i + 1] = 'R',那么 i 是一个非法位置,因为它不能右移,也不能被右边的位置带着右移。那么 [min(pos[i], i), max(pos[i], i)) 要进行右移操作,我们可以用差分数组diff维护 每个位置进行右移操作的次数。显然要进行 min(pos[i], i) -> max(pos[i], i) 的 交换。这样我们的答案就是 (max(a) - min(a)) * (n - 1)因此只有两种情况能赢。原创 2024-10-20 14:18:54 · 962 阅读 · 0 评论 -
Codeforces 969 div2[A~E] 个人题解
由于给的是dfs序,lca(i, (i + 1) % n) = fa(i + 1),所以我们可以很容易处理出每条路径的边的数目。已满路径的带权长度和 + 未满路径条数 * (w - 已出现路径长度和) + Σ未满路径上已出现的边权和。当 可以使Dora先手的时候,收益是:min(c0, c1) + (none + 1) / 2。最一般的情况:后面每增加一条边,除了该边出现的两条路径,所有的路径的值都会- 2f。那么我们一定可以将原数组的元素都调整到 [0, gcd(a, b)) 内。原创 2024-08-31 14:55:18 · 1567 阅读 · 0 评论