CACC 2025 Final 游记
CACC 2025 Final 游记
虽然 2026 年已经过去了 \(\dfrac{1}{3}\),但这确实是 CACC 2025 的决赛。
我必须狠狠感谢 CACC 的组委会,太大方了。希望以后还能免费,希望这种比赛以后多多有。
Day -1
第一次去大兴机场。路费真贵,大兴机场线居然要 35 块钱。安检查得很严,不准带水,洗发水、牙膏也要查。我印象里好像以前只有国际航班才不让带水来着?然而又只不让带塑料瓶装的水,没管我保温杯里的水——那不是没区别吗?
大兴机场很大,走很久才到登机口。上了飞机后开始下雨,起飞时间一拖再拖,最终晚了一个多小时才起飞。我想知道如果有要转机的,因为晚点赶不上下一趟飞机该怎么办?
飞机餐是咖喱鸡肉饭和一个面包。饭不错。面包没吃,留着了。
下了飞机坐地铁。宁波的地铁站名比较有意思,例如“泽民”“梁祝”。先去商场陪佬买牙刷和牙膏(我强烈推荐他 13 块钱买 3 支,反正迟早要用的,可惜他不愿意),然后就去了党校。环境非常优美,鸟语花香,还有护城河。
签到后入住。随机匹配了一个路人作为室友,因为同行的佬很早就被他的高中同学拐走了。放了东西就预备出去玩顺便吃饭,因为第 -1 天没有饭;然而佬已经弃我而去,只好一个人玩。
一开始预备去天一阁,然而似乎到地铁站的时候已经关门了(四点半关门),遂重新上地铁,前往天一广场。
先吃了我妈妈心心念念的宁波汤圆,吃的“缸鸭狗”。馅料很新颖,有芝麻、抹茶、榴莲、高粱、牛奶。网上说这里是手包的汤圆,但我没看到。芝麻馅感觉跟速冻的没甚么区别,正如网上的评价一样;其他的馅缺乏比较对象。
然后就不知道吃甚么了,感觉都很贵,都像是那种宰游客的,而我正是游客。而且由于美团、大众点评这些平台的好评基本上不像正常人的语言,夸得天花乱坠,使我每看一家店都直奔差评。最后选了阿毛饭店。虽然是一个人,但秉承“来都来了”的态度,奢侈地点了两个菜,一个海鲜蒸锅和一个芋艿炖牛排。我并不知道芋艿是甚么,上菜了才知道,感觉像是 3/4 土豆 + 1/4 芋头的口感和 1/2 土豆 + 1/2 芋头的味道的融合体。加企业微信,得了一份免费的红豆双皮奶,感觉不错。这家店叫“戏曲店”,还真让我碰上了戏曲表演,应该是越剧。大部分有字幕,少部分没有,没字幕基本听不懂,好在手机能查到,分别是《盘妻索妻》《山河恋·送信》,我觉得还挺有意思的。一遍看戏一边吃,使我忘记吃了多少,戏曲结束竟看到了吃完两个菜的希望,而且最终成功吃完,我真厉害。海鲜大部分还算新鲜,这个价格也还行;牛肉略贵。
吃撑了,决定散步消食。走到月湖公园,绕湖 DFS 一圈,环境优美,但没甚么可看。看到一户出门下楼梯就是水沟的房子,好像是某个家族的故居,大门说景点在升级。
走到鼓楼站坐地铁回党校,已经十点多,大门紧闭。幸好有值班电话,打电话请保安开门才进去。
室友来自厦门理工。室友竟然不洗澡,说没带换洗衣服。我说不换衣也能洗澡啊,他说没出汗。睡觉时发现他居然也不刷牙,说只早上刷。我稍感震撼。之所以是稍感是因为之前我的大学室友早上晚上都不刷。
Day 0
给的早饭还不错,甚至有叶子菜吃。炒面好吃。有现煮的饺子,但感觉是馄饨的做法,有点奇妙。
没有签到题。而且一开始没状态,半天没想出甚么结果,决定先用蟒蛇把 A. 题暴力写了。
然后想出 B. 的一个贪心解法,但我不能证明。AC。
回头想了想 A.,还是不会,感觉只能想到 \(O(n^2)\) 做法,遂开 O3 提交。但可能是那个 break 有甚么玄妙之处,总之居然 AC 了。
中午还是麦当劳穷鬼套餐,不过居然是菠萝派,略有失望。我更喜欢香芋派,感觉菠萝派的水果味太重了点。芝士牛肉汉堡中居然没放酸黄瓜,使我很意外(我不吃酸黄瓜)。
C. 不会,用 std::bitset 写了个暴力,得了 50 分。
D. 不会。注意到 B 类卡可能不存在,此时期望就为 A 类卡数。获得 2.1 的高分。
优化题的代码真是一坨狗屎!
- 上来就是几十个成员的超绝上帝类,而且全是
new出来的指针,std::vector是一点不用啊,std::unique_ptr也看都不看一眼。整个代码各种裸指针横飞,哪有 C++?我只知道 C with class and new/delete。 - 写半天代码,开 sanitizer 编译运行发现傻逼预置代码有堆溢出错误,一看居然有明显的下标越界:它有一个
char line[1024]和一个std::string line2,用std::getline读入line2后直接for (int i = 0; i < 1024; ++i) line[i] = line2[i];。这怎么敢的? - 变量名含义不清晰,题面描述也不清晰,得反复看两边对着看才能理解。
以下图片可以精准描述优化题的代码:
这优化题运行一次基本上要 \(4\sim 5\mathrm{min.}\) 左右,而且不能调试。有些数据会把内存占得很满,不知道是不是这个原因,导致 VSC 频繁崩溃——可是后来我没跑程序它也崩溃。一边阅读狗屎代码一边应对崩溃得编辑器,使我有点洪文。
把基本的 flip 函数实现了,测一下得了 70 分左右,就交了。尝试修改 local_search,但来不及运行完就结束了,好在运行出来只有 27 分。
大佬说删掉 init 中的某个 if 语句可以获得 110 分。无敌了。
出来看到女装参加比赛的、抱两个娃娃参加比赛的,以及最令我敬佩的——坐轮椅、说话也不太利索的一位选手,身残志坚!我看这 CACC 也是群贤毕至。后来得知女装的正是网络著名的“裙同态”队伍的选手之一。
晚饭是食堂提供的自助,很不错,比学校的垃圾食堂好多了。我挺喜欢他的芹菜炒香干和炒面。又吃撑了,在里面赚了一圈,确实环境优美,可以闻到花香。还看到了东边河边的一些锻炼设施,例如吊起来的模板和轮胎,试着从上面走过去,不是很稳当;还有吊起来的双铁环,随便做了两下引体向上,感觉铁环不太好抓。
晚上回来画 CAD。
室友依旧没洗澡。
Day 1
早饭差不太多。现煮的饺子换成了现煮的馄饨,这次是真的馄饨了。早饭也吃得有点撑。
居然没有还原系统,前一天的配置和文件都在,挺不错。打开比赛网页,发现还是昨天的题,我以为是因为还没开始。点进去发现居然能看优化题最终成绩,只有 53.97 分,悲。想着等会如果做不出,就抄题带出来。
比赛开始了,居然还是昨天的题。问了志愿者才知道要重新登录,用新的账密。其他不少同学出现了提示“账号未报名”的问题。
AI 题一句话都看不懂。跳了(不是楼)。
安全题特别长。按着 README 的步骤,预备先试试编译流程,发现有 #include <openssl/evp.h> 但提示找不到 openssl,Makefile 里的路径在电脑上并不存在,报告给了志愿者。项目还给了个单文件 JSON 库,点进去一看感觉是直接把一个多文件的库 CV 硬塞一个文件里了(因为好像很多标准库在反复被 #include)。
10:43 电脑突然死机,鼠标都动不了的那种。重启发现是 LEGION。重启就看不了昨天的题了(浏览器刷新了),早知道换 Firefox 登录今天的号。
12:56 第二次死机,气笑了。志愿者说有人今天已经四五次了,难绷。
按着题目写了 Q1., Q2,本地通过。交上去居然 CE,使我很疑惑,报告给了监考。监考说有一台评测机有点问题(?),让我再交一次,说 CE 不算有效提交(但页面上的“提交次数”确实自增了啊),他同时去后台帮我查一查。再交即过,一共 200 分到手。13:22 说是我的问题,我估计可能交错顺序了,遂在每个文件开头加了个 #define THIS_IS_Qx。
13:58 过 Q3.,350分。
15:40 过 Q4.,440分,不知道为甚么有个点没过,但我懒得管了,调这 10 分意义不大。
Q5. 题意不太明确,看了几遍才看懂是要我用 Q4. 的纠删码写 Q3., 但我也不知道要怎么写。题目还说要用 Merkle tree,给了原理但要自己实现。想了很久也不知道怎么搞。想了半天,本来准备放弃了,突然想到这既然是要我优化 Q3.,那我不优化行不行?于是直接用 Q3. 代码加了行 O3 直接交 Q5.,过 9/10 个点,总分 485。我无敌了,这题目也是。
总的来说感觉安全题的体验还挺好的,给足信息,循循善诱(?),难度也很低,我这种没有任何背景知识的人都能做完 4~5 个问题。最重要的是!不同于昨天的优化题,安全题的代码相当优雅,各种 OOP 特性玩得飞起,命名也很清晰统一。唯一的问题是题目表述比较模糊,同样需要反复阅读、对比阅读来猜测并验证题意,可能是在模拟现实开发中的模糊的需求罢。
急匆匆吃完晚饭,去参加博物馆奇妙夜的夜游活动。其实路上我挺困的,今天强度感觉比昨天还高,有点考验理解力而不是算法能力。
进了望京门遗址博物馆,先要我们坐地板上垫的毯子上的软垫上,茶几上还有一些水果零食说要我们吃。然而我们大多吃自助晚饭吃得挺饱的,而且可能都比较害羞,不太放得开吃。绿葡萄还蛮好吃,很甜,一点都不酸;我平时不爱吃葡萄的都吃了好多个。
被一个同学认出了高中校服,并认为我很厉害而进行膜拜,他说他是南雅的。然后是自我介绍环节,感觉其实没甚么意义,没人记得住。
然后就是一个人装扮成王安石给大家讲宁波历史,讲望京门的含义,带大家草草参观博物馆。随口答了个问题,发我个“一个小目标”的金色圆片。原先宁波很多水路,后来基本都填平了,只剩月湖周边保留了一点遗迹——这与我在月湖看到的符合。博物馆里有历代望京门的城墙遗址。博物馆挺小的,可看的也不多。
然后是“六门祈福”环节,说古代状元回来后,要把铜钱和糯米埋在各大城门底下,我们也要模拟这个过程,把写了名字、生日、籍贯和祝词的纸、糯米、三枚铜钱、三枚很小的元宝塞到一个香囊袋里面,再埋进一箱“金沙”里。那个金沙粘在手上不容易拍掉。“王安石”反复祝当大官发大财,其实我挺反感的。
然后听乐队唱歌,一个人唱歌其他人弹电子琴伴奏。乐队好像都是音乐专业的。他们请大家唱,他们伴奏,然而大家都很害羞,只好他们唱,幸好还有几个同学点歌。我不知道他们的伴奏是怎么实现的:谱子从哪里找?找到了谱子,直接就能流畅视奏吗?还是说是用那种只写和弦的功能谱,自己即兴弹?最后说要大家合唱《我和我的祖国》,问大家都会唱罢,不会唱的该查查背景;然而还是没人跟唱;领唱(实际上是独唱了)的同学估计只能看到歌词,唱串了一大段。
回去以后发现可以看电视,电影都能免费看。我和室友试图找到金鹰卡通,失败;CCTV 少儿在放抗日片,浙江少儿在放神秘爱情电视剧,使我感到困惑,大约时代变了。发现一部好看的老电影,1952 年的《南征北战》,可惜没时间看完,只看了二十多分钟。
室友依旧没洗澡。之前飞机的面包给室友吃了。
Day 2
早饭还是差不太多,现煮的变成了宁波汤圆,但这个是真冻的,看着他拆盒子。
上午是算法大会的分会场,我报的游戏。一开始尚有兴趣,后面慢慢觉得无聊。有一位同学出 cos 来,但我不知道是甚么角色。溜出去拉屎并完成了CAD 作业。拉屎的时候接到电话,说我得奖了,要我下午坐获奖区;证书里面是空的,只有个壳子,要我不要打开。交完作业刚好听到外面来搞卫生,遂溜回会场玩手机。
中午没有食堂吃,只有盒饭和梨子。尚可。点了一杯喜茶的提拉米苏奶茶,我挺喜欢这个的。
下午开主会场。我并没有找到哪里是获奖区。郑纬民院士讲了 Mooncake 和 KTransformer 技术,感觉有点意思,大约这个方面我略有耳闻但基本没有基础。别的讲座都听不太懂。
然后是颁奖环节。安全赛道铜奖领奖时,说数出来多了一个人,很难绷。证书的确是空的。
最后所有人大合照,难以站下,后排挡得差不多了。
然后铜奖选手去领奖品,原来是个键盘。说是铜奖给个键盘,金银给四千多块得明基牌显示器,另有现金奖金。明基在现场有摆摊,我想应该是赞助商之一,他的显示器确实看起来很舒服(大约是比较高级的 LCD 屏幕),而且确实很大,包括价格。后来查到这个键盘好像 900 块一个,也是很高档了。
不给晚饭吃,于是和大佬进城吃。去了南塘老街,类似太平街,唯小吃更少、饭馆更多、没那么热闹繁华。买了一包十块钱所谓“油赞子”,我认为与“麻花”完全相同。佬似乎心情不太好,可能老街不太令他满意罢。吃了一家店叫“塘人”,他说比较适合我们。东坡肉不错,其他很一般,特别是那个腐竹包黄鱼,是油炸的,而且极其油腻。
室友居然洗澡了,然后早早睡了,我于是只好躺床上玩手机。胃不舒服,有恶心感,不知道是不是晚饭的问题。
Day 3
收拾东西走人。之前告诉我们没有早饭,所以预备随便吃点前一天买的麻花凑合一下。8:22 说有早餐,供应到 8:45,不早说。
坐地铁到栎社机场,这个机场比起大兴就小多了。奇怪的是,其在携程评分 2.7/5.0。
这次的安检也很严格。洗发水和牙膏倒是没查,但保温杯的水也让我倒掉了。好在里面可以接水,顺便烫了下杯子。
准时起飞。
飞机餐是鱼香肉丝饭、一个面包和香菇酱,都挺不错的。我担心鱼香肉丝放醋,还让佬先帮我试试味。实际上它的味道与我印象中鱼香肉丝该有的味道(可能是初中在食堂吃的?)比较接近,并没有醋味。面包比我预想的好吃,香菇酱也是。
发现手机的指南针还能显示经纬度和海拔。天气不错,可以俯瞰城市,使我惊叹于劳动人民的伟力。看到了黄河。
甚至提前了二十分钟降落。
原路返回学校。

浙公网安备 33010602011771号