菜鸡的CCPC河南省赛一日游

希望下回有个好成绩。

公元2019年4月13日。

清晨一如既往地冷,校园内三三两两的学生在路上悠闲地走着。餐厅内工作人员已经在这个放假的日子早早的起床做饭。

餐厅中央侧边的两张餐桌旁,坐着我们学校早起的参赛选手们。在体育节放假的这两天,两回训练赛早就冲淡了我们比赛的紧张感。我们坐在这里,吃着饭,聊着即将到来的CCPC省赛。

餐厅外,象征着青春活力的太阳已经爬上了天空。

吃完饭后,我们出了餐厅,就朝着东门的方向走去,7:50我们将准时出发去郑州轻工业大学。

这次比赛学校多了不少新的队员,都是在之前的三次积分赛上选拔出来的优秀选手。其中还包括两只大一的队伍,他们很努力;他们也很幸运,能够在大一就有机会去参加省赛。还有一只留学生的队伍,他们是教练的学生,对算法有着和我们一样的兴趣,但是我们一行人只有会长能够和他们谈笑风生,我这个连四级都没有过的人只能在旁边看着他们聊天。

这次比赛由于教练有事,所以我们教练又找了一个带队老师。这位老师在我们的校赛方面也提供很大的帮助。很年轻的一位老师,性格也很好,和我们的教练一样好。

清点完人数,我们就踏上了去打比赛的征途。又是熟悉的大巴,和蓝桥杯、天梯赛的大巴一样,坐满了我们心情忐忑的一行人。去年我们的学长在ICPC省赛中拿到了非常优异的成绩,作为学校大二的顶尖力量(其实也不过如此),我们队的压力–主要是我的压力–也是非常的大,想拿个更好的成绩去向学长们报汇报。学长为了培养我们,牺牲了自己的课余时间,给我们开公开课,开集训,我也不想在这样一个比赛中拿到并不是非常优异的成绩去报答学长们的付出。

今天的阳光很好。前几天天阴着,刮着冷风,像是又一季的冬天。

由于学校行程的安排,我们在到达轻大的时候开幕式已经开始了。报完到后,我们又在外面逛了许久,轻大看起来还是那么广阔,在清晨阳光的照射下,图书馆前的广场看起来有了别样的感觉。不久,我们就前往了考场。

到达机房门口,我们看到了比赛的环境,win10系统,电脑也和上回来的时候不一样了,看来是主办方为了省赛确实花了很大力气。

由于没有参加开幕式,到达机房时间有点早,我们几个队伍也在机房外面闲谈了起来,免不了的一波毒奶。

进入机房后,惊奇的发现键盘也换了,上次打天梯赛的键盘是老式的键盘,按起来也非常的费力。这一次的换了一种薄膜键盘,虽然用起来并没有机械键盘那么舒服,但是相比之前的还是好了很多。

在距比赛开始前几分钟,我和我队友就发现现场好像并没有纸质题面。询问了一下考场的老师,老师也说去问一下。果然没多久,就传来了比赛推迟的消息。十分钟后,又传来了比赛推迟的消息。10:20,比赛正式开始了。

由于刚开始我们以为会发三个纸质题面,但是发下来之后发现只有一个,有点大乱了我们的阵脚,dicer提议把题面撕成两份,我和codancer一人看半份,dicer看电脑。当我看了第一题我的脑子里只剩下了“????????”,这…应该不是签到题吧。于是我又看了B,这…应该也不是签到题吧。当我在看B的时候,dicer看了一下榜,说 D E 好像是签到题,我看了一下,确实是签到题,然后dicer就迅速的敲起了键盘,两个签到题花了8分钟写完了。

之后过了好久,没人再开出来其他题了。由于我拿的是前半部分,所以一直在看ABC,差点看自闭了,图论是我的弱项,然而BC全是树形结构,然后我就GG了。签到题写完后,dicer看了 A ,感觉可写,就给codancer说了一下,于是他们就开始全心攻A题,我觉得BC我不可写,就让codancer把另一半题面给了我,我看了 F,发现是个数学题,这就很不错了嘛。刚开始看懂题意,那不就是直接模拟吗,dicer看了题,提醒我说数据范围1e18,然后我又陷入了自闭之中,之后我就开始了漫长的化简之旅。

在纸上算了一会后,我发现符合条件的区间可以被分为不连续和连续两部分,然后我就开始继续慢慢计算每个小区间怎么处理,然后想了一个极其复杂的处理方法。我正在疯狂想办法化简的时候,dicer 和 codancer 经过激烈的讨论以及盲猜了一发结论WA了之后,看出来 A 是dp,于是把代码全盘来写。我在化简的时候发现可以先计算出小区间的范围,然后根据l r 值进行判断,激动了一下,但是看他们还在写 A ,我就决定先把代码写在纸上,看看能不能行的通,不一会,他们俩就又交了一发 A ,WA了,然后我问 A 题怎么样了,他们说害还得再找找思路有没有问题,我就说让我先敲 F 题吧,然后他们就在旁边讨论找反例来了。

我根据我的思路,很快写好了 F 题,但是测样例的时候四个就过了一个,我思考起是不是哪里写错了,就看着代码一步步的进行计算,他们在讨论了一阵之后,发现了问题在哪,然后又开始修改他们的代码,我就在旁边看我的思路是不是哪错了,之后没一会,他们又交了一发 A ,过了!然后看榜单,发现排名前几,但是罚时有点多,三题垫底。

我又开始了我的改bug之旅,他们又在旁边讨论起了 C 题,我对着样例又计算了一遍,才发现区间是左闭右开的,赶紧改bug,测样例,过了!提交,过了!

我问他们 C 题怎么样了,他们说稍微有点思路,但是复杂度太大,我看了看题,发现复杂度确实有点高。看了一眼榜单,发现开出来的这几个都差不多了,于是想着再开一个新题,我看了 H 还是图论,但是看着好像没那么难(还是太年轻了)于是就开始看起了 H 题,他们俩觉得 C 题有点不可写之后,就决定开一道新的题出来。发现 I 是一个暴力的题目,我看了看题,感觉不可写,复杂度太大了。但是他们说省赛的复杂度不用管,全是玄学复杂度。争执了一会后,我就说让他们试试吧。反正现在也开不出来其他的题目了。于是我又看起了我的 H 题。

我在纸上算了一会后,发现还是有点复杂,情况太多了。想着既然没开出来,说不定就是因为太复杂了呢。然后就继续疯狂的枚举那么多的情况,最多的时候直接开了 7 8 个数组存变量,正在我怀疑人生的时候,他们开始了调试 I 题,我想着放松会大脑,就看着他们调试,也看看是不是有设么bug,过了一会,他们调试完了,随便测试了一下样例,输入样例,过了快一秒,答案才出来,我们直接被吓了一下,但是想着省赛都是玄学复杂度,就叫一下试试吧。提交,看着他那个圈圈一直在转,我觉得肯定要凉了,又过了好久,评测机返回了 AC ,欢呼了一下。看了一下榜单,排名第5,还是有点靠后,想着必须再做一题才能保证前三名吧。

此时还剩了两个小时。榜单上 C 和 H 都有人做了出来,我继续算我的 H ,他们看起了 C。我刚才看了一会 H 了,想着思路应该差不多了,就直接上机开始敲代码,但是敲到一半,发现越敲越难敲,思路好像越来越不对了, 手放在键盘上,但是就是不知道应该写些什么。他们为我写的咋样了,我说应该差不多了,然后他们继续看 C ,我继续写代码,最后是在写不下去了,我说你们来写写试试吧。

dicer开始敲代码,我把我的思路给他们说了一下。由于他们没怎么看这个题,这个题并没有看得太明白,所以对我的思路也没办法找反例。我就在旁边说我的思路,dicer在敲代码,实现我的每一步功能,敲了好久,他们问我是不是写完了,我想了一下,应该是没啥问题了,于是测样例,果然没过。看代码,发现少了两步功能,加上后,再继续测,样例过了。然后就直接交,不出所料,果然是 WA 了。由于现在只剩这一个可写题了,我们就集中精力做这个题,他们让我把思路再发给他们说一下,我说了之后,codancer问我如果第一个是父节点怎么办,我想了一下……悲伤!果然是个假算法!然后陷入了疯狂的自闭……算法是错的,只能推倒重来。

他们因为时间复杂度一直没写 C 题,但是现在已经没办法了,他们就决定试一下,我就在旁边一会看他们敲代码,一会想着如何解决 H 题,最后二十分钟左右,我又想出了一个算法,实现简单,而且还没啥大问题。他们看起来也打算放弃 C 题了,我就说让我在挣扎一下,他们同意了,于是他们在旁边看我敲起了代码,一直敲了十几分钟,最后几分钟,代码算是敲完了,测样例,没过…检查了一下,发现我手残把两个输出设置的一样。被嘲讽了一波后过了样例,此时还有三分钟,提交,焦急的的等待着评判结果,WA……,还有两分钟,再看了一下代码,有一个地方忘记写了,加上后,测样例,提交,又WA……此时剩下了最后一分钟,机房里面有人已经开始收拾起了行李,我还在看我的代码,但是最后还是没检查出来,不得不失落地走了。

赛后看群消息,发现金奖和一A有500奖金,然后又小激动了一下,继而又后悔起了差四分钟 1A 的 H 题,太亏了。

之前教练和我们说的是比赛完直接走,但是我们想参加颁奖典礼,于是和带队老师说了一下,老师也同意了。颁奖典礼现场,赞助方现场发现金!!!简直不要太阔气。拿了500,也算是有点收获。最后第九名,没达到预期的排名,心有不甘,接下来还有一场ICPC省赛,希望接下来一场比赛能好好打,争取不丢学长的脸。

感谢您的支持
-------------本文结束感谢您的阅读-------------