noip2017 滚粗记

Day 1

1题小学奥数结论直接秒,一分钟写完。这时候感觉状态非常好。
一看2题就比较码农,放着去看第三题。3题看到数据范围 k=50 的时候就想到肯定是对每个点dp出到它的距离比最短距离长 i , 0ik 的方案数,只是0环不好处理。于是先去写更好写的2题。这时估分300
2题作了一些简化保证,要特判的情况并不很多,只要知道用栈维护就很好写了。然而细节上出了一些bug,调试了好久才过了大样例,到开始做3题时时间已经不多了(感到一丝不妙,这时估分200+)。
3题要码的东西还真不少。估计到考试结束也不大可能写完并调完了(这个时候其实只有一个大概思路,具体怎么操作0环还并不大清楚)。不过这题也可以先不考虑0环,这样有70分特殊数据分,而且这部分肯定也是正解中必不可少的,不会绕弯路(仔细想一想,这个算法即使有0环也有一定可能性会出正解呢)。于是采用了能写多少是多少的策略。
写完基础版并调过大样例(没错,大样例有0环也能过)后还有30分钟时间,就不打算再写那30分了,好好检查了一下文件名和数组大小啊什么的(后来发现好像也没有更多可做的事,于是检查了3遍),又理了理2题的思路,觉得应该没毛病。最后10分钟打开虚拟机,把三道题都编译运行了一下。然后考试就结束了。

result

考后估分:100+100+70 = 270
然而实际上只拿了200。3题匪夷所思地爆零了【蛤?我把暴力写挂了??】

Day 2

先通看了三道题。T1在雅礼集训时做过类似的题,而这道题还要更简单一些(不用二分)。T2显然是状压dp(数据范围太明显了),但是想不出来dp方程,似乎不太好搞。T3也很容易看出是数据结构,考虑把每次操作给正常情况带来的影响维护起来,这样要涉及到序列中后缀index平移,于是想到用平衡树来做。这时就感觉今天的题不太妙,估分140+。因为2题还没有思路,3题平衡树又难写难调(因为本不是noip内容,就没写过多少次,不熟悉),可能就只能做出第1题了。
不管怎样,反正还是要先把第1题写了。随手写了个并查集,很快就调过了(出场后听说有bfs做法,才想起那样跑得更快)。这题写得很顺利,连同看3道题在内只用了半个小时,却怎么也高兴不起来,因为剩下两道题大概是无计可施了。
凝视着T2,我又思考了半个多小时。肯定是要状压点的子集,来作为一个子树;另外这棵子树在整颗生成树中的深度肯定也会影响子树的形态;子树的根是谁似乎也对答案有影响。于是我又犹豫不决是记录子树的根,还是它的父亲。然后又觉得这样记的维度可能太多了,转移复杂度也不低,大概做不出来,转移方程也很难想,于是就没有更深入想下去。打了一个40分暴力后去写T3。(这时候感觉更加爆炸了)
这时还有不到2个小时,我决定先尽量写个splay,最后30分钟再写不出来就打个30分暴力(不然难道先打个暴力然后干等着?)。于是,写呀写,改呀改,调呀调,过了一个小时多,终于不RE了。又调了不久就过样例了,我非常高兴。测大样例却WA掉了(刚刚生出的希望又破灭了),有不到 1/20 的回答是错误的。可是运行小样例得到的所有行为都和我预想的完全一样,也就很难看出到底哪里出了错。这时只剩下十几分钟了,要手造样例把它调出来已经不可能了,只好选择放弃。赶紧检查了文件名和数组等细节,过了虚拟机,一切就结束了。

result

考后估分:100+40+0 = 140
实际得分:80+40+35 = 155
T1据说挂long long了。。。T3玄学得了35分,果然是“错了一部分”。。

Final Result

本来估分400,就比原来的期望低了一些,结果实际才300多。。。
主要是D1T3暴力爆零了,少了70分;D2T1又掉了20分。

你可能感兴趣的:(总结,游记,赛事)