一朝跨越——2025CCPC重庆站游记

· · 生活·游记

一朝跨越——2025CCPC重庆站游记

Day -6

随着上海站的结束,我们队可预见的未来内不会正式参加任何区域赛。重庆站的打星只有两人参加,而前瞻强度却是所有赛站中最高的,因此我们都对比赛成绩没有作过高期待。

Day -1

乘上飞机前往重庆,但到酒店之后我们发现一个严峻的问题:赛场在虎溪校区,而我们误将酒店定在了沙坪坝校区附近,两校区相距约 15 公里,十分尴尬。不过,鉴于打星我们没什么压力,队友很快制定了旅游计划,包括品尝当地特色饮料、吃火锅、体验轻轨穿楼等,我当然也相当期待。

Day 0

参观游览

酒店的早餐相比上海站的就逊色一点了,不过重庆小面非常好吃。去观音桥搓了杯紫米露,发现此地机厅众多,遂打了把舞萌,剩下的币拿去推币机,队友推倒一个币塔获得大量彩票,于是兑换了一辆小车准备带回去送给没来的队友。

终于到了激动人心的重庆火锅环节!我首先认怂,要求点鸳鸯锅以留后路,并准备了大量调料以防止被辣的受不了。队友最开始想点中辣,被老板娘劝阻下来,于是还是点了微辣。火锅的肉质都很嫩,在调料的加持下更是鲜香,给我吃爽了。不过我对辣的承受能力有限,很快投降并去隔壁便利店购买百事可乐(队友:看到你手上拿的刷马桶水,我释然了)。雪上加霜的是,调料中溶解了部分辣味,导致就算使用清汤锅底也会辣的受不了。于是我的火锅环节就这样倒闭了(当然还是吃的很爽

体验上下互拍的轻轨之后,从地铁站步行半小时来到赛场,才开始签到,重庆站衣服挺好看的。前往热身赛,此时距离热身赛开始已经过了一个小时。

热身赛

热身赛倒闭得很厉害。A题莫名其妙,不知所云,我直接发到群里让群友帮忙看,群友丢给 Gemini 后得出结论是 prime^2 - 1,故通过。D题是复旦大学羟基计划的题,去年报了这个羟基就没做出来,今年自然也没做出来。C倒是有思路,但是还没实现出来时间就结束了。

重庆大学给的餐券非常大方,吃完饭后体验了一些地铁/单轨就回去了。

Day 1

正式赛

由于酒店离学校过远,我们不得不早起打车前往学校,结果没有预估好时间,到太早了,只好先趴在图书馆外的桌子上睡会。

比赛开始之后首先注意到 A 题为签到题,队友轻松签完,然后看 H。发现 H 的特殊情况还挺多的,数据范围却不大,于是干脆把都能吃的中选择吃辣的人数枚举一遍,然后手搓样例把可能的情况列出来,过了样例。尽管我们两个人都觉得这代码过的可能性不大,但交了一发居然还真给 AC 了。这个时候看到我们学校来的正式强队 A 题吃了三发罚时, H 交了一发没过,紧张的气氛一下子缓解了许多。

E 题是下一个可以开的题目。我给出的贪心策略一下子就被否决了:因为假如有十个人点一块钱的菜能接受付十块钱,却走进来一个富二代点了个 999 元帝王蟹,那十个人就没得吃了。队友提出可以枚举最终付钱的数额再统计对应能来的人数,然后我就发现这个值可以通过树状数组上二分来维护。队友写完提交,一发 AC,行云流水,我们的排名也随之来到了银牌区。

观察榜单发现 B M K 可能可做。K 是计数题,而我们擅长数学的队友没来,只能先放弃。M 为图论和数论的结合,交由擅长图论的队友来想,我则开始推 B 题的式子。队长首先想到了 M 题的思路,认为可以对小质数每个开线段树来树剖,大的质数单独处理,使用 set 维护质因子即可将复杂度降到可以接受的地步,就上机写代码了。不过这题代码很复杂,相当难写,在 181 分钟的提交 TLE 了。

好在此时我已经对 B 题有了一定思考。n 非常大,而 k 的范围很小,那么把前 k_{max} 个节点处理完了之后,后面的递推式其实都是一样的,就可以通过矩阵快速幂加速递推。我画完转移矩阵上机,抄完模板,将原矩阵和转移矩阵初始化完成,却无法通过样例。仔细研读样例解释后发现居然读错题了,题目要求传送次数,而我求了个按按钮的次数。还好总体的式子区别不是很大,我很快完成了新的代码。然而,这新的代码仍然过不了样例。时间也进入了封榜,我们队的从银牌区一路下滑到了接近铁的位置。

但是我们不会放弃。队友提醒我检查一下转移矩阵和初始矩阵有没有写错了,我和纸上比对了一下,初始矩阵的居然真的把 1 误写为 k,导致结果错误,修改后果然通过了样例。第一次提交 TLE 了,原来是调试没有删把暴力跑到 n 去了,一分钟后便修改成功,取得 AC。

我想 K 自然是没想出来,接下来的时间全部交给队友调 M。明明时间复杂度应该是正确的,为什么会 TLE 呢?一刻钟后,队友发现其加点时未加判断,导致复杂度爆炸。279 分钟,在吃了五发罚时之后,第六次提交终于通过,我和队友激动地摇晃对方。封榜后通过的这两个题,就此为我今年的所有比赛画上了句号。我们只有两个队员,天然劣势却在最难的赛站拿到了铜首,这让我们为今后的算法竞赛之旅充满了信心。

晚安,2025 所有的 XCPC。我们于此跨越,于此入梦。

后记

重庆轨道交通

作为轨道交通爱好者,我试图在比赛之余的时间内,坐遍重庆轨道交通的每一条线路。在 Day0 的旅途中,我已经体验了 1 号线、2 号线、3 号线、5 号线、6 号线、9 号线、18 号线和环线。Day1 晚饭过后,我先向西收集了璧铜线,在沙坪坝取回行李后一路向南,体验了贯通直快列车和江跳线,随后乘坐 5 号线原路返回,换乘环线后于民安大道收集 4 号线到达重庆北站北广场,乘上了 10 号线的列车。然而,此时已经将近 22:30,地铁将要收班,国博线和空港线却尚未乘坐。我果断于上湾路下车,乘坐出租车前往双凤桥站,成功赶上了空港线,并最终乘坐 10 号线末班车到达江北机场 T3 航站楼,踏上返程的旅途。

关于队名

在我以往的算法竞赛之旅中,“希望”一词常常出现。高一和高三我的精神状态两度濒临崩溃,但我最终在 JSOI2021 和 NOIP2023 中找到了存在的希望。我的实力并不强,训练的时候题目自己完全想不出,天天抄题解,要不就在摸鱼。但在赛场上的演算和调试中,我毫无征兆地想到了双指针和并查集,护送着我将希望延续下去。

可是,只靠这上天的垂怜,我最终又能走多远呢?

想要跨越过去,走向未来,终究要靠自己的决心。

在这一年里,我和队友们一起进行了几十场训练,在此间,我能感受到我的思维能力不仅没有退化,反而得到了相当的增强。初中到高中学了七年也只能在洛谷做做黄题,而在队友鼓励下的一年训练后的我已经对绿题游刃有余,甚至于能对蓝题发起冲击。于是,当不变量闪过我的脑海、转移矩阵在纸上逐渐成型,我跨越了过去的侥幸与挣扎,走向了我可以将命运掌握在自己手中的未来。

当我们决定申请这个全校已经三年没有队伍申过的 CCPC 打星名额时,我提交了“跨越”这个队名。

八年算竞,一朝跨越。