Day 0
前一天和今天都在打板子,结果发现自己不熟的都是字符串板子,想一个个算法推过去,然而有些推不出来。。只好重新学习 了一遍,剩下的打个 (FHQ;Treap),(2-SAT) 就没啥了,好久没写树剖了本想做个题的,结果咕了。
(10) 点就去睡觉了,但是躺到 (12) 点才睡着,不过由于是下午考试,中午能补觉,所以丝毫不慌。
Day 1
先前在南京集训,所以去南航相对来说比较方便,(9) 点从宾馆出发,(10) 点一刻就到了,父亲在附近订了一间中点房,吃完午饭就去睡觉了(重度午觉依赖症患者)。(1) 点起来过去,路上骑了辆神秘单车,车龙头和前轮有 (15^circ) 的偏差,晃晃悠悠骑了半天才意识到问题所在,然后跟着它一起歪着骑就正过来了。
站在一号楼前面排队,发现周围有好多好多认识的人,这个地方一点都不陌生,想起两年前自己第一次来这里,孤孤零零地一个人站在那里,感觉自己周围都是高深莫测的大佬,时间过的真快啊。
到了机房,是四台电脑围着一张桌子这样子,这椅子坐起来真舒服!虚拟机没有了,换了一个叫做 JSOI Linux 的东西,开在 IE 里面,可以收发文件和 (Linux) 系统下评测。(2:25) 准时发题,先 (15min) 把题目看了一眼然后大概想了一下,(T1) 一眼三分,(T2) 看起来就是个常规区间 (DP) ,(T3) 一眼不会,(T4) 神神秘秘的。
然后开始写 (T1),两边的停机数量都是单调的,看起来很三分,然而写到一半突然发现假了,三分好像不能处理整数域的单峰函数,(f(lmid)=f(rmid)) 的时候就不好判了,郁闷。冷静了一会发现可以 (O(nlog n)) 预处理出来所有位置的答案,只需要把没停进去的飞机扔到一个 (set) 里,每增加一个机位只要贪心地在 (set) 里面删过去就行了,(3:10) 过大样例,好像没啥好拍了,先放了。
看 (T2),在纸上画了画转移式子,应该就是个分 (3) 类的转移,带个连续 (*) 串长度的预处理,还有 (dp) 数组右端点的后缀和就行了,然后就开始写,(3:25) 差不多写好了,发现样例二过不去,程序输出要比答案大一些,瞪 (dp) 数组没瞪出来,看答案只有 (19) 种方案,于是上来手算,然后我就趴在草稿纸上,凑了整整一万年没凑出来······ 眼看已经 (4:00) 了,只好写个不正确的暴力辅助计算,调过了第二个样例,结果 (n=100) 的样例三挂了,想了想把暴力改对,在对拍的帮助下找到了问题,原来在枚举 ()() 的时候数重了,改完就能过大样例了。(n=500) 的点要 (0.33s),看起来很稳,先过了。
开始看 (T3) 的时候已经 (4:45) 了,感觉打的有点崩,看完题面在纸上画了画,马上会了一个很简单的做法,不过应该是假的,自己又叉不掉,于是先写写试试看,写完测大样例,噫,果然挂了!这个数组是怎么把我卡掉的,(手玩了一会)为啥能卡掉我??回去调代码,发现边界写漏了,改好后挂在别的点上了,心里有点虚,为啥自己要对着一个不大对的代码修修补补呢,(手玩了一会)咦这好像卡不掉我啊,原来是枚举分界线的地方把 (a[2*n]) 写成 (a[n]) 了,改好后过了大样例。不对,一定是大样例太水了!回去写对拍,结果对拍也拍过了······ 大为震撼,这个 (T3) 真的这么水吗,看时间不早了,于是过。
已经 (6:00) 了,离比赛结束还有 (30min),想起自己前 (3) 题还没有在 JSOI Linux 上测过,为了求稳便测了一下,(6:06) 开 (T4),我去这 (k=2) 不是裸的最小割吗,时间好像不是很够,求稳起见强迫自己去写 (10) 分的 (O(nm2^{nm})) 暴力,还有 (10min) 的时候,耳边响起了赛后注意事项的广播,但是代码还没过样例,心态紧绷,还有 (4min) 时突然发现自己 (i>>j&1) 写成了 (i<<j&1),改了后就能过样例了。长吁一口气,把代码交上去测了一下,最后 (2min) 在 没有时间写最小割的遗憾 中过去了。
总共写了 (100+100+100+10=310),考完感觉人均 (360+) 的样子,问了一圈发现好像确实如此,(hyh,gwj,wxw,zhr) 都 (AK) 了,不过在自己水平相近的人中还算可以,其实如果没有尝试去手算 (T2) 样例浪费时间,是完全有希望拿 (360) 的,不过现在 (CSP) 已经没有什么实际用处了,刚过一等线和满分没什么区别,希望自己 (NOIP) 也能发挥稳定吧。
update:
(Inf;OJ) 上 (100+100+100+5=305),恼,(T4) 暴力被卡常了,希望 (CCF) 少爷机能放我一把。