杆树 发表于 2026-1-4 23:00:02

Codeforces Global Round 31 (Div. 1 + Div. 2) (#2180) 全解

Codeforces Global Round 31 (Div. 1 + Div. 2) (#2180) 全解

今天早上 VP 这场比赛,过了 ABCE。
A. Carnival Wheel

由于数据范围是 \(5000\),我们暴力模拟即可。
开一个值域大小的标记数组,如果找到了环就直接退出,记录途中最大值即可。
Submission #356326001 - Codeforces。
B. Ashmal

容易发现如果当前得到了字符串 \(S\),我们现在要加入字符串 \(A\),那么无论 \(A\) 接在前面还是后面,都要求 \(S\) 最小即可。
于是我们按顺序插入 \(A\),在两种方案里选字典序最小的即可。由于数据范围较小,可以用 std::string 快速实现。
Submission #356326086 - Codeforces
C. XOR-factorization

首先 \(K\) 为奇数时,就全部填 \(n\)。
考虑 \(K\) 为偶数时怎么做,一种天真的想法如下:

[*]首先填 \(K-2\) 个 \(n\),接下来只需考虑两个数 \(x,y\),我们按位考虑。从高位到低位,如果 \(n\) 这一位为 \(1\),那么可以让 \(x\) 赋 \(1\),\(y\) 赋 \(0\)。而如果 \(n\) 这一位为 \(0\),为了使和尽可能大,我们希望 \(x,y\) 都填 \(1\),但前提是不超过 \(n\)。于是如果先后遇到两个 \(1\),第一次就让 \(x\) 填 \(1\),\(y\) 填 \(0\),而第二次就让 \(x\) 填 \(0\),\(y\) 填 \(1\),这样之后 \(x,y\) 都必小于 \(n\) 了。
然而上面的做法会 WA。考虑为什么,因为前面的那 \(K-2\) 个数之中也有可能出现对于 \(n\) 为 \(0\) 的位,两个数填 \(1\)。
考虑扩展上面的做法,维护一个计数器 \(cnt\),表示当前前 \(cnt\) 个数都必小于 \(n\)。遇到一个 \(1\),我们就尝试让第 \(cnt+1\) 个数赋为 \(0\),其他都赋为 \(1\)。而遇到 \(0\) 时,我们就取出前 \(cnt-(cnt\bmod 2)\)个数填 \(1\)。
这样就通过了。复杂度 \(O(K+\log V)\)。
Submission #356327292 - Codeforces
D. Insolvable Disks

赛时没过,原因是不敢写贪心,以为不对。
考虑每次贪心选择一个尽量长的前缀,设 \(d_i=a_{i+1}-a_i\),加入 \(r_1=x\),则有 \(r_2=d_1-x\),\(r3=d_2-d_1+x\),\(r_4=d_3-d_2+d_1-x\dots\)。

那么前缀 \(i\) 合法的充要就是 \(\forall 1\le j\le i,0

跑两獗 发表于 2026-1-13 19:13:58

很好很强大我过来先占个楼 待编辑

撵延兵 发表于 2026-1-14 10:45:25

感谢发布原创作品,程序园因你更精彩

尚腱埂 发表于 2026-1-18 00:48:32

分享、互助 让互联网精神温暖你我

更成痒 发表于 2026-1-18 05:04:41

不错,里面软件多更新就更好了

溧久苟 发表于 2026-1-18 19:19:06

懂技术并乐意极积无私分享的人越来越少。珍惜

稼布欤 发表于 2026-1-20 08:05:27

鼓励转贴优秀软件安全工具和文档!

涅牵 发表于 2026-1-22 13:59:03

分享、互助 让互联网精神温暖你我

慎气 发表于 2026-1-24 12:55:26

谢谢分享,辛苦了

姜删懔 发表于 2026-1-26 05:16:22

感谢,下载保存了

老僻贞 发表于 2026-1-30 02:48:54

新版吗?好像是停更了吧。

诸婉丽 发表于 2026-1-30 03:31:51

东西不错很实用谢谢分享

左丘雅秀 发表于 2026-1-31 05:07:48

谢谢分享,试用一下

梅克 发表于 2026-2-5 06:19:48

收藏一下   不知道什么时候能用到

路逸思 发表于 2026-2-7 05:07:19

东西不错很实用谢谢分享

甄婉丽 发表于 2026-2-7 11:12:16

很好很强大我过来先占个楼 待编辑

吉芷雁 发表于 2026-2-7 22:56:30

喜欢鼓捣这些软件,现在用得少,谢谢分享!

山真柄 发表于 2026-2-8 20:09:20

热心回复!

秤陷曲 发表于 2026-2-9 02:09:51

东西不错很实用谢谢分享

菅舛 发表于 2026-2-9 13:28:11

谢谢分享,试用一下
页: [1] 2
查看完整版本: Codeforces Global Round 31 (Div. 1 + Div. 2) (#2180) 全解