2025蓝桥杯C++研究生组游记

· · 生活·游记

前情

本人在上大学本科之前完全没有听说过算法竞赛,唯一接触过的只有windows下的vbs和cmd(shutdown小鬼),再就是贴吧和论坛(上网冲浪~)。一直到了大学才逐渐了解到相关内容,加上学习相关课程,这才逐渐对算法竞赛产生兴趣。可惜并非计算机专业,也没有参加过算法竞赛,算是现在比较遗憾的事情之一吧。

赛前

科研生活比较忙碌,也没能抽出太多时间为比赛做准备。比赛前一天还是凌晨四点才睡(笑),七点半起来吃口饭就赶紧往考场去了。当天降温下雨刮大风,真是睡觉好天气。

找考场差点迷路走了好远,八点四十五左右才坐下。检查机器发现黑屏,又找工作人员换了位置,从最前面06号换到了最后面91号。

打开Dev C++后无所事事大脑放空,头文件也没打啥也没干纯发呆。

赛时

说是九点开始,延后了五分钟左右才打开了题目下载通道,九点十分才发了解压密码。

第一题数位倍数,简单手速题,但是又想到这填空题没部分分,还是好好检查了两遍才交。

第二题IPv6,以前在洛谷打周赛的时候见到过相同背景的题,B4148和P2815,可惜这题对我来说还是有些难度(本人只有黄题水平)。虽然说耗些时间还是能算出来的,但是它只是个填空题,想了一下还是跳过了。

第三题变换数组,读完题观察数据范围,发现变换次数居然只有 0\le m\le 5,直接暴力验下样例交了。

第四题最大数字,最开始看错了题目以为是脑筋急转弯,后来发现是十进制排完再转二进制串。猜着应该是个 sort,后面继续看又发现结果会爆 unsigned long long,考场上实在没时间写高精度,遂放弃。

第五题冷热数据队列,一看到页面交换,死去的操作系统记忆又复活了。经典LRU算法,剩下的就是实现了,具体可以看看我的题解。

第六题01串,一眼找规律,除了最前面的 01 例外,二进制下拥有 k 位数字的数一共有 2^{k-1} 个,并且数字 1 一共拥有 (k+1)2^{k-2} 个。想了一下前缀和但是发现都是单测,于是决定在搜索的途中同时添加到总的答案中。可惜规律没找全,对后面剩下数的处理用的暴力,自然是全TLE了,坠机记录。

第七题读完题就知道一定是dp,然而练得并不多完全不知道怎么写,时间也已经就剩下半个小时。

第八题一看是图论就直接略过了,到最后连题面都没读过。

大概是早饭吃得太急了,也有可能是平时不吃早饭导致的,还剩一个小时的时候拿起手纸直奔厕所(悲)。

赛后

赛前看的一点点线段树,01背包和单调栈之类的知识点完全没用到,不过倒也算是个好事,毕竟不是很熟练。

下午一点才结束还好早上吃了饭,稍有些精神恍惚大概是睡得太少导致的,点个外卖吃的同时水水群,又开始了研究生的日常工作,好似今天上午和往常周末一样是睡过去的(乐)。其实对于这次竞赛,我的目标是能拿奖就行,毕竟毕业条件里面有一条要有竞赛成绩(大嘘)。不给大样例的OI赛制还是太刺激了,但愿能过的题不会爆零。