去PKU参加APIO,也算是自己第一次参加国家级的OI活动吧!
Day 1 报到日
乘坐G2次列车赶往北京。一路上和ydf、lzj一起讨论了shangjingbo大神在CC上出的题目,被lzj大神通过找规律的方式秒掉了。。。到了燕山大酒店后继续和他们一个房间。去PKU吃完午饭后就一起打了一场CH,却惊讶的发现T2就是下午讨论的题目。。。完了就没有然后了。
Day 2 培训1
上午qq讲了答案提交题的一些技巧和一些随机算法,感觉受益匪浅。
下午第一节课是fqw讲解URAL的一些试题,上来就讲了一道很难的数学题,而且讲解的时候用了一堆数学概念,全场没有人听懂。然后fqw就开始讲解:为什么我们会听不懂。。。然后分别讲解了1745,1452以及一道非传统题。
下午第二节课是lich大神讲解ural championship的题目,没听懂几道。
晚上大家各自刷题,就没有然后了。
Day 3 竞赛日
重新默了遍linux下的对拍代码就启程了。
上午8:00是机试:
竟然是Win 7,竟然没有Guide,PKU电脑的文本编辑器竟然只有写字板和记事本!
然后发下来了一张《注意事项》,才明白这次比赛不像传统的OI比赛,我们A类选手要往两个网站上交程序:在国际上是IOI赛制,在国内则类似于cf赛制(当然,没有hack)
稍微适应了一下这个奇葩的环境后就开始比赛了。
翻开题目就傻眼了——竟然有提交答案题!!!于是根据前一天qq介绍的“答案提交题要先做”这一经验,果断开始看题目。看完之后就无语了,题目要求我们设计一组数据让一个程序AC,另一个程序TLE,根据输入数据中数字的个数给分。虽然可想可做,但鉴于此题不像一般的传统的提交答案题,程序可能需要跑很长时间,又因为自己没有做过提交答案题,于是就先看别的题了。
看完T1、T2,都没有什么特别好的想法。于是回来磕T3,花了大概1.5h把所有数据都磕了下来,以为能AC,往国际上交后才发现自己漏读了所需数据的一些限制,所以2、4、5、6没有过,其他4个点拿满分,总共47分。当时心情是一个失落啊,虽然很想继续磕下去,但为了调节心情,先去写T1的暴力了。
可能是因为有一周没有碰过键盘了吧,暴力写了大概1h才写完。由于我有很多重复状态没有删去,所以导致MLE或者TLE,国内的pretest也在过点1和过点3之间徘徊(总共六个点)。在不断更改参数后,终于同时过了点1和点3。。。然后我犹豫了:是磕T1好呢还是磕T2好呢还是磕T3好呢?
不知道是什么原因,可能是因为对T3没有拿到预计的分数心有不甘吧,我再次磕起了T3剩下的4个点(“喂喂,你之前可不曾做过答案提交题啊!”“哪管得了那么多?”)。点2和点5很快就有了结论,但是点4和点6却一点想法都没有,甚至“证明”了这两个点无解。。。好在后来很快跳出了误区,并为点4设计出了一个数据(当然完全没有顾忌能拿多少分,有分就拿嘛!)。但是,交到国际上的得分为0.51分。。。(还好最终每个点的得分要四舍五入,这个点满分17分),太少了!!!当然仍然不甘心,于是重新设计数据,但这时只剩下30min,所以我重新设计出了一个感觉正确的数据,胡乱的调整了一些参数终于让那个程序TLE了,于是很开心的交到了国际上,拿了6分。由于时间关系,直接把这个数据交到点6上,又有了6分(这个点满分19分),较为满意。再尽量减少一下输入数据的数目就交到国内上了。这是我再把数据交到国际上看看能拿多少分,已经交不上去了。看来是压哨交掉了答案。。。
最终得分:25+0+70,T1出乎意料的高,T3的点2莫名爆0,估计是交错数据了吧。。。膜拜ydf大神10+95+47
下午是复测和讲课。复测自己也不知道为什么不去争取T3点2的7分。。。讲课的时候发现自己T1少考虑了一个很重要的情况,但是。。。不能多说了。。。
最终ydf大神T2全场rank2,由于大多数选手比赛时都在磕T2,所以我这种几乎把所有时间都砸在T3上的蒟蒻在T3上就全场rank4了。
Day 4
上午是cqx讲线段树,由于10:00要和lzj、ydf去参加北大ACM校内赛,所以只听了一道略简单的题目就走了。
北大ACM算是我参加的第二场较为正式的ACM比赛吧。带着憧憬,与lzj、ydf大神一同踏入了比赛场地。
比赛开始后lzj和我都有些没放开,两道水题都花了比较多的时间,分别1A和3A(3A是我弄的。。。)。随后就到了lzj时刻——连续A掉两题,其中是一道分水岭的数据结构题。这时候我C题也有了方程式,但是把一个状态量写成了全局量,交了两个WA也没有弄出来。而lzj和ydf的A题也磕的差不多了,于是电脑让出来自己打印代码看。发现自己的错误后把lzj赶了下来继续调,但还是没调出来,于是又把电脑让给了lzj.打印完代码后发现犯了两个极其sb的错误,于是又把lzj赶下来调完A掉。随后lzj也A掉了A题。时间只剩下1h。我们看着剩下的3道代码题,打算磕掉B题(一道计算几何),最后30min还是没有特别完备的算法就提前放弃了。然后lzj就去只A掉5题的mjy那边去“捣乱”,我也跑到hcy那边“慰问”他。最后我们rank 41(A掉6题的里面排倒数第2。。。),好像有个马克杯的样子。
下午打gcj 1C做掉A题和B题的小数据之后,觉得其他分数都不是很容易拿,又因为排200+名,不太可能被挤出前1000所以提前1h结束比赛赶去参加闭幕式了。(事实证明还是挺悬的,最后700+名)
完了就乘公交车去参加闭幕式(话说帝都的公交车还真的挺赞的),自己竟然真的得了Ag,而且还是Ag第7名的样子。拍了几张挫照就回来了。
晚上和lzj、ydf一起打cf 183 div.1,T1、T2都还简单,后面3题就做不动了。由于手速比较快,最后rank96,名字变黄了!
Day 5
起晚了,要不是老师来叫都要赶不上火车了。不过,这几天过的还是蛮开心的。唯一的遗憾可能就是没怎么逛北大吧。
花絮:
1. ljz大神每顿早饭都叫麦当劳外卖,而且顿顿吃掉至少50RMB,真心给跪了
2. 我和ljz大神在apio之前祈求有分,而ydf大神在研究如何弄丢密码条得负分
3. 获得Au的mjy大神只参加的两场活动:apio竞赛与颁奖典礼
4. ydf在机试的时候信手敲了个treap
5. 我的RP是有多么的差?用的电脑是机房里唯一没有贴标签的(差点以为那电脑是坏的),得到的英文版试题还有脱页
6. 我的RP是有多么的好?Ag的证书是随意发的,让我们私下里换回来,但我正好拿到了我的
7. cxy大神带着两个酱油男在PKU校内赛单挑全场,秒下6题
8. “大神就是大神,……”仅以此来敬仰全场rank 5并能获得国际奖的ydf大神
总结:
那啥,本来这篇博文是以总结为主的,一不小心写成了流水账。。。
其实吧,今年apio真的没啥好总结的,因为题目实在是太不传统了。所以就胡乱总结下吧:
oi赛制:
1. 提交答案题不要交错数据
2. 题目(尤其是长题目)一定要仔细读,注意每一个细节。或许真的应该学习clj,每道题目读3遍。
别的也不敢做太多总结了,毕竟这场比赛和未来的NOI还是有很大的不同,怕会做出错误的总结。。。
acm赛制:
如果在遇到bug时队友要求使用电脑,应先暂时拒绝对方(除非对方真的很急着用),并打印代码,继续检查5min。如果还是没发现什么错误再让出电脑。
最后晒一些照片:
魔都队全体成员,可惜没一个正脸
在和lzj、ydf讨论问题 (然后我忙里偷闲了。。。)
orz ydf大神
我们得的气球
这位哥哥在教我们怎么折纸飞机
orz mjy大神