ACM CS C++ Play
前言
经历了大一 ICPC 昆明之后,有一段时间挺失落的,整个寒假貌似也没怎么刷算法题,不知不觉大一就快过完了,想到大二上又可以参加新赛季的 ICPC,而且五月份还有个广东省赛,就找到了同年级的两位大佬 scy 和 zlw,刚好他们大一也试了下水,大二也愿意继续打,就组了一支很纯粹的队伍
全靠大佬带飞😭
中文队名:正在验证该队是否是真人。
英文队名:Verifying we are human.
训练
五个月的时间,一共一起 vp 了大概 50 套题,再加上空余时间打 CF,还可以
整体分为四个阶段:
- 省赛前
- 暑期牛客多校
- 大二上开学至期中
- 寒假及大二下 ECF 前
详细的训练内容在队长的 blog 里😋,包括总结反馈和补题,这里仅作记录
省赛前
2025.05.02 The 2023 Guangdong Provincial Collegiate Programming Contest
2025.05.15 The 2024 ICPC Asia Hangzhou Regional Contest
2025.05.19 The 2025 ICPC Wuhan Invitational Contest
2025.05.21 The 2025 ICPC China Zhejiang Province Programming Contest
2025.05.22 The 2024 ICPC Asia Shanghai Regional Contest
2025.05.25 The 2024 CCPC Jinan Site
2025.05.26 The 2024 ICPC Southeastern Europe Regional Contest
2025.05.27 The 2024 ICPC Central Europe Regional Contest
2025.05.29 The 2023 ICPC Asia Jinan Regional Contest
2025.05.30 The 2023 CCPC Guilin Site
2025.06.02 The 2025 Guangdong Provincial Collegiate Programming Contest rk62 Ag
暑期牛客多校
2025.07.15 2025牛客暑期多校训练营1
2025.07.17 2025牛客暑期多校训练营2
2025.07.22 2025牛客暑期多校训练营3
2025.07.24 2025牛客暑期多校训练营4
2025.07.29 2025牛客暑期多校训练营5
2025.07.31 2025牛客暑期多校训练营6
2025.08.05 2025牛客暑期多校训练营7
2025.08.07 2025牛客暑期多校训练营8
2025.08.12 2025牛客暑期多校训练营9
2025.08.14 2025牛客暑期多校训练营10
大二上
2025.08.30 The 2023 CCPC Harbin Site
2025.08.31 The 2023 CCPC Qinghuangdao Site
2025.09.05 The 15th Shandong Provincial Collegiate Programming Contest
2025.09.07 The 2025 ICPC Asia East Continent Online Contest (I) rk309
2025.09.14 The 2025 ICPC Asia East Continent Online Contest (II) rk398
2025.09.20 The 2025 CCPC Online Contest rk175
2025.09.11 The 2023 ICPC Asia Hefei Regional Contest
2025.09.25 The 2021 ICPC Southeastern European Regional Programming Contest
2025.10.02 The 2022 ICPC Asia Hong Kong Regional Contest
2025.10.09 The 2024 ICPC Asia Hong Kong Regional Contest
2025.10.13 The 2018 ICPC Asia Qingdao Regional Contest
2025.10.17 The 2024 ICPC Asia Shenyang Regional Contest
2025.10.19 The 2024 Shandong Provincial Collegiate Programming Contest
2025.10.23 The 2025 ICPC Asia Xi’an Regional Contest
2025.10.26 The 2025 ICPC Asia Chengdu Regional Contest
2025.10.29 The 2025 CCPC Women’s Division
2025.11.05 The 2022 ICPC Asia Nanjing Regional Contest
2025.11.23 The 2025 ICPC Asia Shenyang Regional Contest
寒假及大二下 ECF 前
2025.12.20 The 2025 ICPC Asia Taichung Regional Programming Contest
2026.01.03 The 2025 ICPC North America East Central Regional Contest
2026.01.07 The 2021 ICPC Asia East Continent Final Contest (EC-Final 2021)
2026.01.09 The 2022 ICPC Asia East Continent Final Contest (EC-Final 2022)
2026.01.11 The 2024 ICPC Europe Championship
2026.01.14 The 2024 ICPC North America Championship
2026.01.08 The 2025 ICPC Europe Championship
2026.01.21 The 2023 ICPC Asia East Continent Final Contest
2026.01.25 The 2024 ICPC Asia East Continent Final Contest
2025 ICPC 武汉
Day -1
【SUNCHAOYI】
队友还要考试,那和我有什么关系?果断一人周五早上出发。12:00 起飞,原来预计 2 个多小时的路程,结果 13:30 就到了。刚在飞机上看了会儿离散的卷子,吃了点东西提示要降落了。不过差评的是竟然没有主食,只发鸡肉肠大 main 包,饿死我了连吃两个勉强吃饱。
下了飞机发现到达层和出发层在一起?纠结了很久,最终还是坐 2 号线兜兜转转的来到了酒店(本来想先去玩玩的,但是想着有行李,顺便还得给手机充个电)。
歇了会儿先去吃了碗热干面,豪赤😋!然后趁着俩队友考 CSC4120 的时间去江汉路步行街凑个热闹,然后又去了黄鹤楼和武汉长江大桥,最后沿东湖骑车回来的。今天似乎是万圣夜,所以江汉路👻超多(
以及,武汉大学感觉真的好大,在环湖骑骑了半天,只是从武汉大学的一个门到另外一个门,累鼠()
早点睡了,明天早点去签到,白嫖礼品,顺便抢夺队友的物资!
【Skyzhou】
难绷 CSC4120 算法设计与分析 幽默期中考,真是活全家了,vEB 树一点不会就认了,后面的手写代码题更是逆天中的逆天。不过好在期中考终于结束了😋,准备十一月份两场 ICPC + 一场 CCPC。
明天等 Zlw 佬考完最优化之后起飞🛫。这次去武汉大学还是挺期待的,有个高中一起开网页服务器(服主)的好哥们还来做志愿者,虽然好像听说现场一片混乱,希望到正式赛的时候不要出锅(
本来是想跟孙✌一起飞的,但是有期中考冲突没办法,只能靠孙✌一个人来打热身赛 + 拿物资了。
Day 0
【SUNCHAOYI】
签到日。
为什么校内电瓶车不让我们骑啊???只能走路前往卓尔体育馆。
领物资拍照片,现场似乎有点混乱,发牌牌一直找不到我们的学校,愣是等了很久。赞助商的小玩意儿似乎没有去年南京站的好,不过还是白嫖了一些。拍照就只能我一个拍了,作为队长还是心系队友,把队友的拍拍也一起拿着拍照了!
为什么餐券是指定时段指定食堂的?而且这个食堂和体育馆距离 1.5 km,这合理吗?午饭是 11:00-13:00,在宾馆休息到了 12:00 就准备溜过去。
【插播】圣地巡礼图
中午去食堂吃饭,用了一整张餐券点了个卤肉饭但是不怎么好吃。既然队友不在,那就用掉他们的,买了份糖水,外加 2 瓶饮料。奶茶和冰淇淋的队伍实在太长了懒得等,于是剩下的餐券只能作废了。
热身赛还早,缓慢挪动到体育馆。中途偶遇陈教授,趁机收获一枚吧唧。在门口等的时候又遇到了蒋老师,于是果断要了合照。
下午热身赛就只能我一个人打了,倒闭预警。开题后发现有中文题目,A 题 A + B,B 题 24 昆明的简单构造,C 题 24 昆明热身赛的题,D 题 24 昆明的金牌题 D 题。C 去年我同学问我的时候还不会,今天会了,但是由于调试的时候改动了数组范围,导致 WA 了一发。D 想到了一个做法,但是没来得及写完,由于我之前没 VP 过 24 昆明,后来看了发现 D 赛时就 4 队通过,估计我是想假了。顺便在这个 2h 的热身赛测了测 submit 和 printfile,都有二次确认,还不错。以及,今天发🎈和打印真的好慢,希望今天各位志愿者有在热身赛好好热身吧!
【Skyzhou】
早上还是一如既往睡到十二点,中午玩两把雀魂,洗个澡就去找考完 MAT3007 的 zlw 佬然后出发去机场。前两天犹豫了半天是要坐地铁、巴士还是打车,最后看时间比较紧还是选择了比较稳妥的地铁,主要是害怕巴士会堵车。晃晃悠悠到机场后,正常取票过安检,然后喜提卫星厅,坐小地铁到登机口,711 买了点东西很快就上飞机了。孙✌说他的飞机一个半小时就到了,但我们还是飞了两个小时,中间无聊看了会书,走之前带上了《月亮与六便士》,最近想着把之前没看过的名著补一补,反正尼龙图书馆有那么多书,毕业了还借不了了。落地后感觉略冷一点,但适应后觉得 20℃ 的温度还是挺凉爽的。
上飞机前,武大的好哥们居然说要开车来机场接我们,我有点意外,他说他国庆的时候把车从广州开到武汉了,然后今天刚好晚上出来吃饭顺路,难得来一次武汉,我想了想那也行吧。下飞机后在机场停车场见到了这位高中的老同学,高中时期开的 Smartlearn 网站服务器就是用他的旧电脑,也一起学习交流了很多东西。在路上他给我们展示了武汉的逆天路况,确实有点难绷,各方面像是不太管理的样子()最后十一点多也是顺利到酒店了,跟我们的队长孙✌汇合。到房间后,分了下物资,然后洗洗睡了,准备第二天的比赛。
个人名牌挺好看的,衣服有点丑,背后红字印太显眼了,,
Day 1
【SUNCHAOYI】
正赛前两小时十分顺畅,甚至一度进到金牌线。第一小时两题,Zlw 佬先过了 F 签到,然后我会了 E,不过第一发没思考仔细没考虑奇偶性,虽然自测样例有,但是我和 Sky 都没注意到答案输出错了。第二小时 Sky 看了 M,是个线代矩阵的构造,题目挺难懂,看了好久才看出来。由空集的性质可以推出主对角线 $A_{i,i} = a_i + 1$,然后剩下的位置 Sky 开始尝试手玩,玩了一会儿发现给玩出来了,大概是这样的形式:
$$
\begin{bmatrix}
a_1 + 1 & a_2 & \cdots & a_n \newline
a_1 & a_2 + 1 & \cdots & a_n \newline
\vdots & \vdots & \ddots & \vdots\newline
a_1 & a_2 & \cdots & a_n + 1
\end{bmatrix}
$$
K 算是一个贪心。考虑一种颜色,如果它们要匹配,位置一定是相邻的两个。最后总代价是固定的,一定是 $\sum{\frac{|i - j|}{2}}$,而且 $\sum{|i - j|}$ 一定是个偶数。构造的话,每次从左到右,找下一个出现的位置比较小的地方,贪心的给他换过去就好了。至于为什么是 $3n$,只是代码实现会比较方便罢了。
之后 Zlw 和 Sky 开始看 H,然后 C 是构造,于是我开始看。H 搞了半天没有啥想法,只会通过两次问出 $\min$ 和 $\max$,然后之后就异常的难做了。趁着空机,开始敲 C 的暴力和 checker,然后开始盯着 out.txt 看输出。哎就是这么神奇,看着看着在千万种情况中发现了一组极其优美的解,既可扩展又可以消除一列并仍然保持连通。于是把意思传达给队友,让他来写。赛后回想似乎就是由这个 $3 \times 3$ 的基矩阵,通过镜像拓展得到。
$$
\begin{pmatrix}
0 & 0 & 1 \newline
2 & 1 & 0 \newline
1 & 2 & 2
\end{pmatrix}
$$
造了下数据发现没过 checker,仔细看了一下 $m = 4$ 需要特判,然后借助暴力跑了组合法解,将答案拼起来,3 发在封榜后通过。由于这题写了很久,加上想 H 不断倒闭,导致 3-4 小时没有过题。通过 C 以后又想了会儿 H,感觉实在不会,于是提前下班。最后 5 min 时 H 胡乱提交了一发作为烟雾弹,本来还想 299 min 提交 C 装一下,结果被队友制止了……
滚榜嘞!算上打星队好像是 rk88,银牌!是我第一块牌牌!也是本赛季的第一块牌牌!这场我们学校一队没来,所以我们成了校排第一。总的来说前期打得挺顺,后面由于 H 没有对上脑电波导致长时间没有过题,但是 K 我们切得异常快,也顺理成章的落到了 5 题中前部的位置。
【Skyzhou】
喜提银牌😋,正式队伍 rk 72 / 443。虽然 H 题想了三个小时还没想出来有点可惜,但是队友很给力把 K 和 C 都切了,我也是获得了第一枚银牌,希望下周南京再接再厉,SUA 最后再带我们冲一次吧😭
【Fun Facts】
开局我说应该挑深气球的题来做,于是看了 J 并把题喂给了 Zlw,结果这题最后是 0 人题,连 CF 皇帝也没通过此题。
我们在比赛,微信群里全程视奸,似乎比我们还紧张。但是很遗憾没有 Au,辜负了群友的期待。
晚上吃食堂发现过期的餐券可以用来买特产,遂凑了 100 元餐券买了各种酥😋。
据说很多电脑和网络都崩掉了,我们还算幸运,至少电脑比较顺利
Day 2
【Skyzhou】
我们绕东湖骑行了一个小圈,天气凉爽,骑起来也很顺,羡慕武大的同学就在旅游景区边上


2025 ICPC 南京
Day -2
官方Q群发了参赛手册,确认出题组是 SUA。
Day -1
【SUNCHAOYI】
周五早上的飞机,落地后在酒店楼下吃了铁锅炖,豪赤!休息了一会儿我去南大找我的初中同学玩,有点远,地铁做了一个多小时,运气不好还下雨了。在校园里随便逛了逛以后就去吃饭了,吃烤鱼,聊天的过程中顺便了解一下他们的课程(由于专业相近,所以还白嫖了个计算机系统基础的课程链接),羡慕南大有这么好的课程体系安排!
【Skyzhou】
一大早六点多起来,趁着舍友都还在睡觉,就出发去机场了。飞机比较顺利,落地后打车20分钟到酒店放东西。之后下楼找了家铁锅炖,老板很热情,鸡肉铁锅炖也很好吃,量大管饱。
下午本来说要出去逛,但是因为在下雨就懒得出门了,跟 zlw 佬在酒店里躺了一下午,之后快吃饭了才发现孙✌️去找同学玩了。晚上吃了个兰州拉面,然后在酒店里帮 zlw 佬搭了他自己的 blog。晚点的时候拿 zlw 佬的电脑打过了无上辐光!有点意思啊。但是看着佬一遍过了一到四门,才发现自己很多 boss 的打法都错了😭
Day 0
【SUNCHAOYI】
早上闹钟没听到,还是被队友叫醒的。吃了早饭直接去签到,参赛服好评,然后参与游戏获得一只迷你版袋鼠。骑电瓶车逛校园,十分惬意,刚好 30 min 还车,没有多付款。然后想着有点早,去食堂可以买点奶茶,但是发现餐券有效范围过小,于是就坐下歇着,开始摆弄袋鼠。
下午热身赛,竟然要存包(好像被说了,后来负责人和保安沟通了就不用了)。获得一只大袋鼠,开赛前又是各种袋鼠摆 pos 的传统,群里图片乱飞。热身赛果然都是袋鼠题,其中三道做过,于是很快地再次复现了出来。还有两道题我们分工,然后差不多都有思路,于是上机写。但所剩时间不多(由于一开始发现题目基本做过,于是去调 bash 了,所以没剩多少时间写题),最后这两题没过,打算晚上补一下。回去路上简单瞅了题解,发现思路都是对的,所以说是口胡 AK(。
【Skyzhou】
早上八点起床,发现孙✌居然没有在群里发消息冒泡,于是 zlw 佬直接拨打酒店电话到他房间,才叫醒。简单吃了下酒店的自助早餐,走去南京航空航天大学领物资。衣服确实好看啊,还有签到处领取小袋鼠。之后看还有不少时间就扫了个共享电车逛校园,学校也是挺大的,有两个区域,中间有马路隔开但是能走天桥。学校里有好多飞机,不愧是南航,查了下好像还是 211 来着。路上感觉没啥人,不知道是不是因为周末的早上大家都没起床()
午饭时发现,本来说好饭堂都能用的餐券,实际上只能在几个固定的窗口使用,很多想吃的窗口用不了😡
下午热身赛,经典五道袋鼠题,B 和 C都是简单签到,D 刚好是前两天 vp 2022 南京区域赛的原题,E 题是道很难的题,zlw 佬写了好久,但最后没写完,A 我最后半小时口糊了一个算法(晚上孙✌验证好像是对的),没时间写了。
热身赛打完后回去在酒店写 CSC3001 Assignment,又是赶 DDL😭。然后就洗洗睡了。


Day 1
【SUNCHAOYI】
开局良心签到,飞速通过。之后是一个象棋的简化版,想了一下发现只需要判断一步即可得到结果。然后我第一反应是直接列出所有情况,疯狂敲 if 然后 WA,冷静了一下直接循环枚举所有情况,然后又 WA,瞪了好久才发现有一个 $dy$ 敲成了 $dx$。成罪人了 WA 了三发 1h 才过。
之后 Zlw 佬发现 F 是一个贪心加 bfs 的题,敲完一发通过。跟了一下榜发现 G,I 有一车人通过,但是想了想这两题发现我们三人都不会。佬提出我们应该多看一点题,于是开了 H,发现可做。
以下证明 SUNCHAOYI 是入机:
Zlw: 这道题我们可以先预处理出 $f_{l,r}$ 表示这段区间内有多少个满足中间条件限制的数量。但是怎么快速处理出来呢?
Scy: 先不管前缀,枚举两个重复子串的同一侧端点,然后就可以把 border 转化成哈希判断是否相等的问题,用二分加个 log 就行。
Zlw: 哦有道理,那么相当于前缀就是等差数列的贡献,随便维护一下就好了。
Scy: 对,可以用差分代替线段树。
Zlw: 那两侧的答案怎么统计呢?好像和刚刚的过程有点像。
Scy: 前缀和就行了。
Zlw: 哎,那好像这题做完了。
Zlw: 啊呀,差分咋写来着?
Scy: 两次前缀和,阿巴阿巴阿巴!
证明完毕。prompt 正确,直接胡出来了。
然后就过样例了,差点忘记取模,然后提交!测了一万年,一发通过!
然后剩下的两个小时疯狂的在 G,I 之间徘徊,但是最后都不会,4 题遗憾离场。
讲题,发现 G 题可以将两个参数分离,于是就可以简单贪心了,懊悔怎么没想到,但是转念一想过了也 Au 不了,又感觉还好(bushi。
滚榜,竟然意外的守住银了,在正是队伍中排 80 多名,就这样吧,SUA 题真的好难!
【Skyzhou】
再次获得银牌!本来我们是看着 SUA 出题组非常好,之前 vp 相对来说比较舒服才来的,没想到今年题目出这么难,从第四题开始已经很吃力了。一小时切了两道签到后,zlw 佬又切了一道相对没那么难的题,然后就没题做了,我看了 BGI,尤其是认真地推了下 G 的式子,但一个多小时都没得到很好的做法。这时 zlw 佬和孙✌两个人一起做出了 H,甚至是跳了两题的难度,属于是完全没想到。最后三个人一起想 G 和 I,但是都没做出来,封榜后也没做啥题,有点可惜。
但是,这一场真是诸神之战,正式队伍全是天才队,基本上金牌要快的 7 题,我们即使再做两题也没有希望,上面真的高手如云,我们最后在银靠后的位置,属于是成功守银了,但说实话确实没法冲金。除了正式队伍,榜单前面还有一大坨天才打星队,导致比赛中期完全没有办法跟榜,题目也很难,想不出来就是想不出来。
【后记】
不知道还有没有机会打 EC,感觉离退役不远了,滚回学校学 CS 去了。
月底的 CCPC 重庆就当旅游了,已严肃预定订豪华酒店👍
【赛后补题】
G 主要就是理解合并,即让较小容量和较大流速失效。将桶分别按照容量由小到大排序,记为 $A$,再按照流速由大到小排序,记为 $B$。那么也就是最后需要保留 $A$ 与 $B$ 的一段同样长度的后缀。当想要再失效一组容量和流速,发现水会漏完时,情况已经不优,因此对于一组询问直接二分答案即可。
I 是一个读题细节很多的 DP,读完题后需要意识到需要从后往前 dp。因此,设 $dp_{i,j,opa,opb}$ 四维表示前 $i$ 天剩 $j$ 元,$A,B$ 两人是否已经支付一次的最大价值。注意 $j < 0$ 的状态直接设为非法,又由于需要从后往前,dfs 记忆化即可,代码竟然异常好写。
M 组合加 NTT 优化题,还是相当的不熟练啊,借着 AI 的理解又推了一万年。考虑 $(P_i,P_{(i + d) \bmod n})$ 为凸 $k$ 多边形的一条边,则两线段右侧的 $d - 1$ 个点失效,剩余的 $n - 2 - (d - 1) = n - d - 1$ 个点需要选择 $k - 2$ 个组成 $k$ 凸多边形。
令 $F_d$ 表示选距离为 $d$ 的点作为一条边时的贡献,则有凸 $G_k$ 边形的面积和的两倍 $G_k$ 为
$$
G_k = \sum \limits_{d = 1}^{n - 1} \binom{n - d - 1}{k - 2}F_d \
= \frac{1}{(k - 2)!} \sum \limits_{d = 1}^{n - k + 1} \frac{(n - 1 - d)!}{(n - k + 1 - d)!} F_d
$$
令 $A_d = (n - d - 1)! \times f(d)$,$B_d = \frac{1}{i!}$,则有
$$
C_k = \sum \limits_{i = 1}^{k} A_i \times B_{k - i}\
G_k = \frac{1}{(k - 2)!} C_{n - k + 1}
$$
当然,还需要快速求出 $F_d$ 的值,用叉积表示面积的两倍,则有
$$
F_d = \sum \limits_{i = 0}^{n - 1} (x_i y_{(i + d) \bmod n} - y_i x_{(i + d) \bmod n})
$$
以 $\sum \limits_{i = 0}^{n - 1} x_i y_{(i + d) \bmod n}$ 为例,先倍长数组,令 $X = [x_0,x_1,\cdots,x_{n - 1},0,0,\cdots,0]$,$Y = [y_0,y_1,\cdots,y_{n - 1},y_0,y_1,\cdots,y_{n - 1}]$。再令 $Y^{rev}$ 表示 $Y$ 的反转数组 $Y^{rev} = [y_{n - 1},\cdots,y_1,y_0,y_{n - 1},\cdots,y_1,y_0]$。则有
$$
H1_d = \sum \limits_{i = 0}^{2n - 1} X_i \times Y_{i + d} \
= \sum \limits_{i = 0}^{n - 1} X_i \times Y_{i + d}\
= \sum \limits_{i = 0}^{2n - 1 - d} X_i \times Y^{rev}_{2n - 1 - d - i}
$$
其中上限可以改变是因为倍长的时候 $x_{n} \sim x_{2n - 1}$ 均为 $0$,而最后 $H_k$ 也就是卷积后 $C_{2n - d - 1}$ 的值。
计算另一半 $H2_d$ 同理,最后 $F_d = H1_d - H2_d$。
做三次完整的 NTT 即可得到答案,时间复杂度为 $O(n \log n)$。
CCPC 重庆
Day -114514
看了一眼前瞻,吓哭了😭
退役旅游团来喽
Day -1
【SUNCHAOYI】
8:00 坐车和牢邓一起走,路上小堵,但是一个小时不到就到达了机场,喜提卫星厅。还是早到了好久,打开电脑发现 STA 有作业了,果断开写。登机了,只好先合上电脑。但是在飞机里又等了一会儿,不小心在起飞前就把作业给写完了,于是开睡。两小时左右落地重庆,直奔宾馆。
歇了一会儿,到晚上去洪崖洞附近吃了火锅,然后走上大桥远观洪崖洞,还是被 6D 城市略微震惊了一下,导航的定位一直在飘,所以走错了好几次。
【Skyzhou】
坐飞机,一大早就起来,舍友都还在睡觉,收拾下东西就出发了,打车到机场时间绰绰有余,吃点小垃圾早饭然后上机!
等了好久才起飞,又不知道过了多久终于落地了,再打车到酒店放行李,打开牛客发现上线了神秘小对战,跟队友玩了一下,俩队友单挑上头了。
晚上去了洪崖洞,人真 tm 多,还有一亿个跟传销一样的不知道哪来的人问“拍照吗,坐船吗”,真无语了😅,把一个景区搞成这样也是无敌了。人群里面挤了一会之后选择走跨江大桥,江景还可以,就是桥有点高有点哈人。最后坐地铁回来了。
Day 0
【SUNCHAOYI】
先来签到,白嫖了个水杯,领了物资,但是没有啥好的伴手礼。
打个热身赛,来陪牢邓双排。第一题怎么找规律,神秘,用拉插不是怎么解释都可以嘛(最后狂 WA 11 次总算试到了出题人想要的答案。
发现第三题做过了,悄悄掏出手机贺了一下过题的代码。
然后想第二题,带修的合并果子外加 $2^i$ 的额外条件,加了这个限制以后就可以二进制分块,然后贪心逐块累加。但是赛时没搞出来,后来听人讲了才悟到。
晚上小型团建,教牢邓和佬打台球。
【Skyzhou】
领物资,热身赛,不会做。
只盯着 zlw 佬写了 A 和 C。当时B确实没想出来,想着热身赛也就算了,遂摆烂。
晚上去见了一个高中同学,一年半的舍友,舟批,还一起合作搭了网站Smartlearn。是好哥们,不过因为某些原因不细说了。
Day 1
【SUNCHAOYI】
开局发现签到 A 和 H,Zlw 先写模拟题 A,然后我看 H。一开始 H 想要分类讨论,但是一看数据范围果断枚举其中一个参数。中间没想清楚,还把佬从机子上踹下来两次又捧上去两次。最后他过完 A 以后我再 fix 了我的做法,中间因为奇偶性 WA 了一个样例,看了很久才发现问题。
接下去 Zlw 和 Sky 想了 E,觉得可以二分答案,于是果断用优先队列维护,在一小时以内就过了。
之后便是黑暗的 3 h 时间,我和 Sky 分别看了《使》《史》,以为可做还尝试了一会儿(事实上,两个题都是 hard,甚至是 if you are bored 题。毕竟题目名称都是 shi 了,我们竟然还敢吃)Zlw 想了 K 但是一直找不到 KMP 的一些性质,于是他想 M 去了,我和 Sky 想 B。
Zlw 说想到 M 了,于是把我们踹下去实现。我和 Sky 一度以为自己找到正确的递推式,但是之后在验证别的数据时才发现我们只是拟合怪罢了。Zlw 在经历了 $114514^{1919810}$ 秒的堆屎后终于写了个靠谱的做法,但是提交 WA。期间我上机敲了一个暴力,想找规律,结果 $n$ 开得太大,然后输出路径直接把 vscode 弄爆了,强制闪退然后进不去,强制关闭才解决问题,还好 vscode 有神秘自动保存,否则 zlw 的代码就要重敲一部分了(动动手 Ctrl + S 很难嘛🤬)。Zlw 看不出来错哪了,只好对拍。期间的 fun fact 是以为暴力过样例了,但是却没过编译。以及写完以后想找模板里的 cmp.sh 结果发现第一本的模板 version 1.0 里没有,然后第二本的在最后一页,但是貌似之前打比赛的时候疑似不小心被扯掉了,就是缺了这一页(((,于是只能手动对拍。发现是个弱智的错误,把 $-v$ 敲成了 $-1$。第二发提交通过,发现已经封榜了。
然后三个人一起做 B,终于推对了式子,这时候还剩 20 min,于是我敲矩阵优化,他俩推式子。还剩 2 min 的时候弄完了,发现过了自测,直接交,WA!测样例大数据,发现有地方忘记开 long long 了,再交,WA!然后找错,发现没过全零的样例。发现初始化有地方不对,但是正想要修改发现已经比赛结束了!说实在有点可惜,本来以为要顽强拼搏奖了(但后来发现,这题过了也没 Ag 了)。
好吧,这场就第一小时和最后一小时有提交,全场倒闭,Cu 牌一枚(这就是马上要打 EC final 的队伍的水平吗)。感觉打的太烂了(尤其是我,似乎没有什么我擅长的题,因此贡献很小),不想去领奖。于是聚集了餐券,直接去食堂消费一波(买完想吃的以后,全部用来进货面包了),然后合了个影,回宾馆休息了。好在明天晚上的飞机,还能去玩会儿。
【Skyzhou】
开局一个小时 zlw 佬和孙✌成功 0 dirt 签了三道签到题,我就简单辅助了一下,没有上机。然后看了下 L 和 G(使),甚至上机打了个 G 的表,貌似找到点循环节规律,想着可能之后可做但看还是 0 人题就放了。实际上赛看这两道题加起来过了 1 个队😅。
这时候我看榜上 B 和 M 是可做的。M 看了下没啥想法,然后就去看 B。推了半天式子,第一次推了一个多小时最后才发现搞错了,结果和孙✌一起浪费了不少时间,之后又重新审视题目,终于在最后一个小时左右推了个比较正确的式子,我是废物。但是因为式子出的太晚了,再加上还要写矩阵优化,最后一分钟交了一发 WA,发现是被小数据的 0 卡了,大数据过了😭。
赛后发现其实过了这个 B 也是 Cu,那没办法了。真是小众变态比赛 CCPC 😡。
我打ECF?真的假的。我打ECF?真的假的。我打ECF?真的假的。我打ECF?真的假的。我打ECF?真的假的。我打ECF?真的假的。我打ECF?真的假的。我打ECF?真的假的。我打ECF?真的假的。我打ECF?真的假的。我打ECF?真的假的。
Day 2
在重庆玩。
后记
【SUNCHAOYI】
这场感觉打得太松散了,也有可能因为是 CCPC,所以不够重视导致的。但这场没有计算几何和构造,这是不好的!(EC final 要等期末完再训练了,需要能拿个牌牌吧)
马上要期末考了,突然感觉时间有点紧张,但是先摆一会儿再说。还要准备给 CSC3200 举办一个复习讲座来着。
发现自己被抽到体育抽测了,悲!但是好在今年抽测了,明年就不用测了。
EC-Final
Day -1919810
出线说是😋
会有牌牌吗?
Day -3
机房疯狂星期四,晚上出发去杭州,准备看雪😋
想啥呢想啥呢想啥呢想啥呢想啥呢想啥呢想啥呢想啥呢想啥呢想啥呢想啥呢想啥呢想啥呢看什么雪
看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了看到雪了
哦
cnmcnmcnmcnm fuck ICPC
【SUNCHAOYI】
这赛季的最后一场比赛,但是最近事情好像比较多,训练明显没有大一的队伍多。哎,只能 rp++ 了!
Day -2
【SUNCHAOYI】
疯狂星期四完就严肃前往机场。值机的时候我们队伍的某个入机发现自己买成次日的同航班了,只能含泪改签下一班航班,损失 600 RMB,也不知道能不能报销。
到酒店全部安顿好已经凌晨 2 点多了,有点困。不得不说酒店还是有点豪华的,还有大浴缸可以泡澡。就是 B3 怎么是地下 3 层,没窗户,而且房间内好多东西都要收费(
【Skyzhou】
先是在机房疯狂星期四,然后跟隔壁队伍的一个哥们一起,刚好四个人打车出发去机场。到了之后某队友发现怎么买成明天的机票了,甚至时间和航班号都一模一样,搞了一会没办法只能含泪花钱改签。
等都到酒店都快两点了,然后跟佬玩了一会舟的肉鸽,觉得这玩意很费时间😡,但我是真想要那个主题。不知道怎么就四点多了,太困了只好睡了。
Day -1
【SUNCHAOYI】
为了白嫖报销的早饭,定了 08:45 的闹钟。好吧,一般般,感觉不如重庆酒店的豪华早饭。
虽然下小雨,到中午左右还是决定出发逛西湖(从决定到出发花费共计 1h)。于是 6 号线转 1 号线把大家带到了凤起路站(偷偷给大家☞我的高中)。一看时间快到 14:00 了,小跑进学校对面的新白鹿用餐。店员比较好,还是给我们用餐了,希望没太多打扰到他们休息。点了个套餐,菜挺多的,不过这家味道确实还行,大家好评!最后光盘行动!
接下来就是雨中漫步西湖,从断桥沿着苏堤走,走到植物园坐公交往西湖后山兜了一圈。鞋子都湿了,不过总的来说就是雨中别有一番风味吧(笑死,之后几天都是晴天……
晚上花了餐券吃个小火锅,吃完还再次坐地铁(经过打铁关)到东站借我高中同学,吃了个夜宵然后直接回家(还是家里的床睡得舒服啊)!碰巧下起了雨夹雪,赶紧报告给另外两只广东宝宝,给他们激动坏了!
【Skyzhou】
今天光速逛了一下西湖景区,在附近吃了个饭(新白🦌,确实不赖),晚上去某写字楼找一个在杭州实习的学长一起吃了个自助烤肉,有点吃撑了(
白天一直在下雨,然后我们还都在外面走,鞋子全湿透了,很 tm 难受。
回来之后凌晨左右发现好像真下雪了,能看到点雨夹雪的。
Day 0
【SUNCHAOYI】
从家中睡到自然醒然后来签到领物资。一顿白嫖,领到了两大袋东西,还看到了好看的志愿者小姐姐嘿嘿!
清点完各种物资,然后跑去佬的房间玩(加训神秘贪心题,然后被硬控)。晚上前往腾讯交流会去当学术“大拿”,吃饱了!互动环节套圈一发入魂,获得了一只可爱的生日版 QQ,为我们 CD 机房又增添了一员大将!
【Skyzhou】
今天主要是领物资,真的是一亿件物资,什么衣服、袋子、背包、帽子、小玩意啥都有,感觉光是一件衣服就不止这个报名费了,感谢那一堆赞助商爹。
晚上参加腾讯的神秘学术会议,其实也没怎么听,也没跟那些开发人员交流,只想着吃茶歇,最后发现吃不到什么东西。感觉腾讯公司还可以吧,以后有机会不知道能不能去游戏部门或者腾讯云部门实习一下。
Day 1
【SUNCHAOYI】
早上起的有点早,迷迷糊糊地去打热身赛。热身赛前有 16 个发言致辞,直接吓傻了。
左右两侧都是高中生,直接瑟瑟发抖。A 是沈阳热身赛通信题,B 是 24 年杭州站图论,C 是 25 年南京 DP,D 是某个省赛的构造。感觉是没睡醒,A 和 D 写了一亿年才过,然后 C 用 dfs 敲错了个地方一直在查。B 码量有点大,也懒得回忆了,直接不写,三题离场。
又被强行捉去听 Jetbrains, Jump 等交流会,送了个神秘魔方,把色块标号了,于是变得异常难,一直被硬控。最后走狗屎运复原了,感觉 rp 要波动了,坏!
下午是华为挑战赛,本来以为可以尝试拿钱的。结果题目是神秘向量压缩与检索算法的优化,然后给的东西不太能测试,写了 KNN($K = 2$)和 float 转为 fp16,提交一直在 RE,心态直接崩了。写了半天最后跑出来的东西还比 sample 的得分低,简直是吃到屎了。而旁边的高中生简直太强,一个神秘算法断层领先,直到最后才被腾讯反超。写了三小时啥也没得到,遗憾离场。
【Skyzhou】
早上早起来打热身赛,听完一堆致辞之后开始上机,和正常的 ICPC 比赛用 Linux 是一样的,没啥好说的。但是我们这个电脑的网络好像有点问题,而且一开始还不知道为什么(或许是踢到了电源线),把包括我们电脑在内的周围四个电脑都黑屏了😭
热身赛的题都是做过的,随便写了三道然后就没啥好说的了,甚至孙✌️写南京站那道补过的 DP 题还写了好久,邪恶孙✌️。
下午的华为挑战赛很吃屎,开始讲题的时候感觉这个题就根本和启发式算法没什么关系,最傻逼的是根本就没有给 Checker 或者 Tester??导致完全没办法测自己写的函数对不对,很唐。一开始我想到 KNN 聚类算法,但是不会写,就交给 zlw 佬去写了,然后中间我想到可以把 float(32位) 转成 16 位的浮点数表示,上网贺了个转化的板子,但是交上去一直 RE,后面发现我把 float 改成 double 也会 RE,不知道是不是傻逼 Tester 那个调用的时候没有用 Template 而是强制用 float,没招了。zlw 佬的 KNN 退化版 2NN 也 RE 半天,WA 半天,根本没法做。感觉主要还是本地不能测这个代码,sample 就给三个函数几个接口,剩下的也不知道怎么调用的这个函数,很难绷😅。最后不出所料没拿到一点分,甚至交了一发拿到 -0.03 分的,下班。隔壁的小登不知道为什么那么强,真吓哭了。
Day2
【SUNCHAOYI】
正赛日,早上迷迷糊糊地醒来。
开局 11 分钟才出现首杀,我看 B,佬看 J,Sky 似乎被计算几何吸引了,在看 A。B 想了一下不太会去重,然后佬这边想了一个很复杂的 DP,不太敢写,于是交换了一下题。于是就有佬提出了一个 B 题 DP 的做法,讲了一下我觉得没问题就交了。一发 AC,50 min!佬在写 B 的时候我想了 J,果断认为从叶子往上贪心的做法,Sky 和我确认了一下,认为没有太多的问题。等佬过题以后把解法喂给了佬,但是第一发 WA 了,写了一个 checker 发现了一些神秘的顺序问题,这时候佬提出可以按照 LCA 深度直接来排序,修改了一下以后通过。
这时候 Sky 在手玩 K 通信题,大致是给一个树然后用一个 $n - 1$ 的串传递信息,使得再第二轮随机顺序访问边的时候能够确定保留与否,从而最终能够获得最大匹配。Sky 想了一下,认为要先 dfs 处理出最大匹配,然后将同一匹配内的点染成同一颜色。这时候需要长度为 $n$ 的信息,和佬交流以后发现直接可以钦定根节点,于是可以省去一个单位的信息,做完了!一发通过!这时候排到了 90 多名,似乎牌牌有希望了。
之后的 2 小时在想 H,I 题。H 是神秘的数学期望题目,一开始还读错题目(这次和我无关),后来发现是只需要最大值即可。但是一直往组合数的方向去想,后来发现直接不可做,然后这道题的精度又很低,就感觉很奇怪。I 是佬想了一会儿,提出一个转换,但是也不是很有把握,只能尝试写一下,后来写完没过样例,之后就没再写了。
最后我们算是 All in 了 A,是一个计算几何,但是一直用分数和斜率在算直线。由于可以图形翻转,然后直线斜率还会不存在,异常的麻烦。写了若干页草稿纸以后总算是过了样例,但是提交一直 WA,只能遗憾离场了。
哈哈哈,又是两个小时后没干事情的一场比赛!最后三题,不知道能不能保住 Cu。
不管了,晚上还有华为晚宴。既然比赛打成一坨了,说明没用 rp,晚上能不能抽个手机给我补偿一下呢?
滚榜,人傻了,rk 191 成铁首了,和最后一名差四分钟罚时,不嘻嘻不嘻嘻不嘻嘻。
晚上华为晚宴,菜就那样吧,但是佬真抽到个华为平板(欢呼),那既然这样,只能说没有黑幕了!
【Skyzhou】
正赛来力。
早上 7:30 的闹钟响了但是我迷糊地关掉之后又睡着了,直到 7:50 孙✌️冲进我们房间我才真的醒来,急忙收拾了一下就去吃早饭了。早饭那里薏苡仁,好不容易找到座位,随便拿了点吃的,因为有点急所以吃得一般。
进赛场之后就是等倒计时结束,cjb 教授在上面主持会场,我们在电脑前等待比赛开始。
打开试题袋后,scy 上机先敲 run.sh 什么的(终于不是我了(不是)),我和 zlw 佬先读题。我从第一题读到最后一题,没有看到特别签的那种题,然后就开始随便开题,注意到 A 是计算几何,有点意思,也看了下 C,不知道能不能做。过了一段时间发现 B 和 J 都很快有人切了,我就开始看 B,发现应该是个 DP 题,但我不是很擅长,尝试列了 DP 式子但是被 scy 否决了,这时候半个小时过去了我们还没开始写题。
zlw 佬那边开局一直在看 J,我看他在认真地列树形 DP 式子我就没敢打扰(埋下伏笔),但是过了半小时他说他那边实在做不了,我说那赶紧来看 B,结果 zlw 佬一眼就秒了这个 DP。很快 scy 也得到了 J 的贪心策略,当时我还不是很确定,他就跟 zlw 佬讨论了一下,制定了贪心 +LCA 相关的正解,在上机写了。
这个时候我看旁边的中学生打星队伍很快把 K 切了,我看这个是通讯交互题,虽然题型很新但应该不难,我就开始思考,大概思考了十几分钟想到了正解,主要就是分成树上贪心最大匹配 + 信息通讯两部分,只是最后通讯部分 n 暂时没优化到 n-1 个信息,跟 scy 交流了一下做法他说可能有点假,但我说没啥问题。等俩队友把 J 写完之后我跟 zlw 佬快速沟通了 K 题题意和做法,他指出优化也很简单,然后我就看着他写,很快就一发过了。这个时候不到两个小时,我们来到了 90 名左右,甚至在银牌区内,还是挺激动的。
但接下来的一切就好像写好的剧本一样,我们只能眼睁睁地看着时间流逝,以及最后的绝望。
一人一道做完三道签到题之后,我们开始继续跟榜,注意到 H 过题人数不少,我们就打算先做这个,但是我在读完题之后明显感觉到这个题我完全帮不上忙,然后这个时候我发现 A 题其实也有很多人过,然后就开始在草稿纸上想 A 题。一开始看题的时候觉得就很简单,但是做的时候选择了用标准解析式来处理,这个时候就因为一些斜率不存在的问题会要进行分类讨论,然后写了一堆式子之后就开始上机敲,先是敲了分数类封装,还有简单的公式,好不容易过了自己的小数据之后发现样例有个逆天情况没有发现,题目图也没给,就是它这个三角形还可以镜像,最后一个小时缝缝补补之后过了样例和自己造的数据之后还是 WA,甚至到最后几秒钟我还在看哪里写得有问题,但还是 WA,不知道是哪个细节写错了或者算法还是有漏洞。期间两个队友也在努力做 H 和 I,但可惜都没有想到正确解法,最后只能遗憾三题下播。
但更离谱的是,结束后我看封榜前我们距离铜牌线还有三十多个可以往下掉的位置,想着应该问题不大了,在房间里躺着,但三个小时后的滚榜环节,滚到我们这里就突然停下了,然后说这里往上的是铜牌区,我们才意识到我们真的成为了铁牌第一名,距离铜牌最后一名就差 4 分钟的罚时。当时我愣了一下,觉得真的很有戏剧性,甚至像是回到了当年 2022 NOIP 距离广东省一只有 1 分之差的那个时刻,大脑像是被什么重物狠狠地猛击了一下,恍惚,觉得这一切似乎太夸张而显得不真实。
然后接下来的滚榜环节我们队就一直在那里坐着,只能感到后悔,但也说不出什么话来。
实际上,我们这一次的发挥确实不是特别好,开局签到就慢了点,然后 easy-medium 的题根本没做出来,还被计算几何不知道什么 corner case 卡了,正常比赛只有前两个小时过题,从银牌区一直滑到铁牌第一,而且后来回顾发现是在最后一分钟被翻下去了,确实遗憾。我最后几分钟一直在尝试稳定情绪和思维,想着如何去解决这个计算几何问题,但是真的没有找到 hack 数据和代码哪里细节写挂了。能到 EC-Final 赛场上的队伍不缺顽强拼搏的人,但是能在最后十分钟内过这么多题的,也只有实力真正顶尖加上一点运气的队伍才能做到,这一点我们的确没达到,一如既往地正式赛开局顺但后期拉。而且我们已经将自己的实力发挥到了极致,这套题的确没有前中期对我们队来说可以很好切的数据结构题和构造题,计算几何本身就有很强的不确定性最后挂掉也没有办法,所有人都在尽力,得到这个结果我觉得,由三个人共同承担,并不是什么真的很遗憾的事情,至少我们没有放弃,在这种全国顶尖的赛事上向真正的高手和天才屈服并不代表我们不行。
晚上华为之夜,能跟全国同龄的这么多天才一起吃晚饭还是很有意思的,而且抽奖环节甚至队友 zlw 在最后一等奖补抽的时候抽到了一个华为平板!恭喜 zlw 佬😭
结语
【SUNCHAOYI】
EC Final 结束,也不知道明年会不会再打了。
这一赛季,加训了很多,从网络赛到区域赛再到东亚大陆决赛,其实已经从数千只队伍中脱颖而出,虽然卡线很可惜,可是确实尽力了,这一路已经不容易了!(或许)下赛季还能体验一次 EC-Final 吧!
【Skyzhou】
从接触 OI 到 ACM,已经是第三次退役了,遗憾和成就都参半吧,我觉得更重要的是体验过程。我们能拿到的最高奖项区域赛银牌已经顺理成章地拿到了,没冲击到 EC-Final 奖牌也只是实力和运气都欠佳。还有就是,我们的确是被前面 168 支队伍打败了,但我们还是打败了全国网络赛时的 2000 多支队伍,以及不知道多少学校筛选掉的队伍,才到达了这个全国排名 169 的位置。能在计算机程序设计以及算法方面达到这种位置,已经是一项三个人日夜努力了几百上千天的结果了。所以我其实并没有感到很委屈或者失落,反而觉得这样子输了也是一种成就。
由于时间、实力等各种原因,我以后应该也不会继续打 XCPC 这种算法竞赛了,或者说是正式从港中深校队退役了,能从小学的时候啥也不会,到中学参加省赛,最后在东亚大陆最高决赛上退役,还能遇到一起加训 50 场比赛的队友,我已经很满足了。
接下来在计算机科学方面还有东西要学,很长的路要走。
我们有猫猫虫!