【随笔】2015年CCPC四省赛小结

    感觉自己变懒了,好久没有更新,这样不好。。。

    5月16日和17日,我们学院的五只队伍到哈尔滨工业大学参加了CCPC东北大学生程序设计竞赛。今年不知道什么原因,ICPC跟CCPC闹分家了,各自办东北四省赛,大人的事情我们并不懂。。。不过对我们来说肯定是好事,毕竟又多了一次宝贵的比赛机会嘛~

    上个赛季结束后,由于崔神和汤哥要考研找工作,《TCL / 今天没吃药感觉萌萌哒》在不舍中解散了,之后感谢鑫哥能让我加入《Matrix / 矩阵》参加本赛季的比赛。这次比赛就是我作为Matrix队员出的第一次现场赛,还是非常紧张的。而且最开始定的目标是拿一等,这次的比赛哈工大、吉大等强校派出了不少队伍,从实力分析来看我们还是有一定差距的。为此我们从组队后也做了很多次练习赛,我数了一下,应该有20多次吧。尤其是出发前一周,everyday都挂了比赛,各种请假加翘课搞的我好伤啊。。。

    5月16号早晨集合,坐高铁去哈尔滨,很顺利的到了哈工大,然后报到入住。这次哈工大给我们每个队发了钱数充足的饭卡,而且哈工大的食堂真心便宜,十块钱就能吃到好多好多肉,想想我们学校真是呵呵。。。所以我们就是各种食堂美食,各种超市购物(估计哈工大食堂的阿姨会纳闷怎么突然有那么多穿绿衣服的土豪《【随笔】2015年CCPC四省赛小结》)这次定的宾馆也挺给力,至少不用俩人挤一张牀了,嗨森~

    16号下午热身赛,到了赛场一看,桌上全是笔记本,Thinkpad T410,这让我说什么,好学校就是土豪!不过头一次碰到用笔记本的现场赛,我发现每年东北赛都能带给我惊喜啊(后面还有更大的惊喜)试了试机,除了屏小一点别的都正常。拿到热身赛题后我们就开搞了,一共就三道题,A题就是给了个递推式,让求前几项;B题求一个数列的全排列,然后按照一个公式计算出最大值,反正都是暴力直接搞的,特别水。C题是个字符串匹配的判断,我们想了想,没有明确的思路就放弃了,用剩下的时间测测环境。然而我们在测数组大小的时候开了个1e9的数组,然后一点编译直接死机→_→然后我们把它交了,不一会有个人出来说严禁提交恶意代码攻击服务器,裁判机跟选手机都是一样的,我呵呵呵呵。。。不过旁边的KILLBILL经过一点小调试,全场第一个AC了C题,然后我们就愉快的撤了。

    17号正式赛。先进行开幕式,第一项竟然是唱国歌,我愣了一会没反应过来,真不愧是CCPC啊。然后各种发言后就准备开始正式赛了。我们事先商定了两线开题的方式,鑫哥主敲,我和ts各开一题。拿到题目本以后我从前看,ts从后看。

    鑫哥首先发现A题签到题,于是我复覈题意他敲输入输出,很快就完了,看看榜已经有很多队AC,我们就勇敢的交了,1Y。这时候ts看完K题,觉得不是很好做,就决定先放下。事实证明这个决定是明智的,这个题确实坑点比较多,最后也没几个队伍出。

    然后看榜发现B,I都有人过了。于是我们先搞了I,也算是大水题,输入三个8位数,求它们乘积的末三位。敲完以后交,WA。然后我突然想到比如1024这种,应该输出024,保留前导零,这样应该就对了,改完了交,竟然还是WA。这下我们不淡定了,各种姿势改过又交了两发,全WA。。。当时就隐约有种要完的感觉,然后鑫哥当机立断,用JAVA.BigInteger写了一发纯暴力,然后神奇的YES了。。。虽然我们还是一头雾水,但是过了就赶紧搞下一题吧。后来I题rejudge,我们当时是2Y的,每年东北赛都会出错真是醉了,去年过J题榜上显示过K题的故事已经吐槽够了。。。

    当时I题用java水完我和鑫哥看了B题,ts看后面的E还是H来着,记不清了。。B题要求一个矩阵的单点更新区间查询,直觉上树状数组可搞,但是看看过题数,明显是水题的等级嘛。果然从数据范围里看到更新只有10次,然后鑫哥预处理了一下每行的和,暴力一发,1Y。

    然后ts说E题可搞,当时E题没什么队过,但是我们确认题意以后确实是一道很水的计算几何,敲完提交,1Y。

    这时候我一直在看D题,统计一棵树上任意两点、带上他俩最短公共祖先这三个点的权值乘积,然后算所有乘积的和。说来也巧,就在出发前的周四,我们做练习赛时刚碰到了一个要求把O(n^2)优化到O(n)的树上计算题。于是我一开始就按这个思路想,很快想到了解法,然后找鑫哥敲这题。因为这题很难出样例,敲完测了一下sample就交了,WA。然后就呵呵了,我打印了代码进入无限debug模式。。。

    这时候ts看完了H题,认为是一个较简单的搜索。于是他俩开始搞H,敲完了WA,然后改了交又WA,WA,好像是不断的发现读题有漏洞,最后不知道WA了几次终于YES了。然而我当时并没有看那题,D题不管怎么看都找不到bug,发现了一处可能爆long long,改过还是WA,感觉要GG了→_→

    然而此时比赛就剩不到一小时了,我们只有五题,形式相当危急。这时我去上了个厕所,路上看到很多不是很强的队过了G题。其实G题是个有点难度的数论,我们当时并不是很有想法,但是既然别人能过,那就得考虑是不是能水过去的。情况危急,来不及想罚时的事了,果断跟鑫哥敲了一发赤果果的暴力,直接返回YES!当时心里真是相当激动啊!!!

    最后时间剩的不多了,鑫哥决定重新调一下D题的写法。算法需要统计每棵子树上的权值和,一开始的写法是一趟dfs,边求和边计算结果,现在把它换成了两趟dfs,先求和再计算结果。然后竟然就YES了。看来原来的写法在求和上确实是会有问题的,下次还是应该好好按照流程写,不要使用不确定意义的变量。这次AC直接把我们的名次提到了前几,因为环顾整个赛场7题的不是很多,算是半个胜券在握了吧~

    此时还剩十几分钟,我们搞了一下K题,按ts的思路敲了一发,最后一分钟狂交了几次,最后结果WA了,不过这场比赛总算是成功了~虽然我们一下子都感觉好累好累,但是心里可是抑制不住的开心呀~

    赛后到哈工大超市拿饭卡里最后一点钱买了几个哈工大纪念品,带回来做个留念。然后参加了颁奖典礼,因为软件提前走了我帮他们领了两把奖,在领奖台上站两次的感觉真是相当的爽《【随笔】2015年CCPC四省赛小结》当然最爽的还是我们拿到一等奖奖牌的那一刻~赛前的努力终于得到了回报,一切付出都值得了~

    之后坐晚上的T244回长春,路上发生了一点意外:小星宇同学上火车时候不小心踩空,腿上磨破皮出血了。总算坚持到长春,罗老师带着他去医院了。下次还是尽量走哈西吧,哈站连高站台都不是真心无力吐槽→_→

    晚上九点到的长春站,送走星宇我们准备打车回学校,结果走到打车处发现排队的有几百人,看来得排一个多小时了。。。排了一个小时以后,男生们决定到火车站旁边宾馆凑合一晚,我跟三个妹子回学校,最后实在没办法,一个黑车司机收了我们160块,我们才终于在11点多回到了学校,这真是本次外出最恶心的经历→_→我决定以后如果可以的话也绝不在晚上九点以后回长春了。。。

    两天的比赛确实很累,但是更多的是满足。东北赛一等奖放在去年我是想都不敢想的,而当我们真的实现它的这一刻,满满的都是开心~接下来还有蓝桥杯决赛,还有大连四省赛,还有区域赛。参加ACM以来的经历告诉我,没有什么是不可能的。我要珍惜退役前的每一天,打好每一场比赛,相信我心中的目标最终是能够成真的!!!

    继续努力~

点赞