NOIP2017原地爆炸记

总结

考前停课了一个月,结果貌似并没有什么卵用,成绩还是爆炸,不过好歹没有AFO。但是不得不说的是:停课一时爽,复课火葬场!!!!!不过话说我去年为了保证普及组的稳定发挥,最后并没有决定去考提高组,今年是第一次考提高组,虽说考前刷了各种模板题,各种 假装是 NOIP模拟题的考试,但是在真正考试的时候还是有点慌的说。

然而我的失分原因就是对于题目细节的处理,惯性思维的束缚以及思维能力不行,比如D1T1的数学题可以打表找规律,D1T2挂了,还有两道DP都只打了暴力,而且暴力分还没拿全。再然后D2T3正解如果真的是Splay那我也不知道该说啥好了。

过程

Day-1

颓废度日,只有litble还在一版一版地虐题

Day0

本来缩要出去玩的。可能爬爬山?
然而很巧下雨了……
于是乎,和同机房的dalao颓了一天……
然后裸考吧??

Day1

总体情况并不太好。先花了半个小时把题目看完了,T1好像是数学题,看题目并不太水;T2是细节题,码量+字符串处理+多组数据,搞不好就会变成调试神题;T3似乎是一道图论,暴力分出奇得低。

T1.math

期望得分:30 测试得分:40 实际得分:30

首先看了看题目,没什么想法,只想到DP的做法,但是很明显DP的做法没几分,看了看数据,然后又看到了程序名——math,想必是数学题。想了想是不是线性筛,但是并不是,就先把DP的暴力打了。

后来就想跑点数据找规律看能不能有点启发,跑出来的结果发现好像都是素数,于是我又开始使劲想ZYJ和ABS讲的数论相关,就这样盯了这道题半个小时,超出了我的预留时间,担心会发生NOIP2016天天爱跑步放到D1T2的情况,就先撤了。

最后检查完之后还剩余了一点时间,觉得T1可能还可以再抢救一下,又想了想,还是没结果,就跑去又调了下T2。

T2.complexity

期望得分:100 测试得分:40 实际得分:70

写完T1的暴力之后,就来看这个题。似乎写的时候思路还是比较清晰的,写的比较流畅,但是由于一些玄学的字符串处理的问题,调了一会,一共花了一个小时把样例过了,手造了一点小数据也没问题。

不过最后检查的时候发现好像还是不行,测的大样例有些挂了,于是又调了半个小时左右。虽然期望100分,但是果然还是挂掉了,到现在也还没来得及查哪里错了,对细节的处理还是不行啊

T3.park

期望得分:10 测试得分:30 实际得分:30

在读题忧心忡忡地看完前两道题,发现有一道图论题的时候,真的是倍感亲切。虽说看完其实也并没有什么想法,但是好歹心里平静多了。

我最近都在看图论的题目,但我还是没做出来。跑了个SPFA,然后搜路径的时候写的暴力+剪枝(当sum>dis[x]+k时就return),然后数据范围表示暴力分奇低,正解是DP,看上去好像图上DP,新的DP种类又出现了?

我想这可能就是NOIP进阶到NOI professional / NOI plus的标志吧

Day2

总体状态我觉得比Day1好得多,至少令人心安的签到题来了,然而伴随的另外两道题都不太友好。照样是读题半个小时,T1很水;T2只看出来应该是树形DP+状压DP的融合升级版;T3估计是道神题。

T1.cheese

期望得分:100 测试得分:100 实际得分:100

直接就上bfs了,赛后dalao说要判一个球直接连通上下表面的情况,不然会挂。当时我还是有点虚的,后来想想,我是预处理了所有合法的边,似乎还是可以应对这种情况的。

T2.treasure

期望得分:40 测试得分:40 实际得分:40

真的没有什么想法,先就写了一个暴力dfs,结果发现dfs是不行的,因为会陷入到一个环中,很像上次某个模拟考试的题目dfs停不下来。我想了想状压,推了下方程,成功地再次陷入了环中,最后放弃了正解。

看了看subtask发现40分很好骗,因为当边权都相等时,为了使得总权值最小,那么每个节点的深度尽可能小即可,枚举根节点,对于每一个节点,就把未扩展的都扩展出来就可以保证深度尽可能小。

考后听说,这道题的暴力分比较多,1000条边其实用邻接矩阵存顶多是完全图,那么暴力枚举生成树取最小答案有70分。时间复杂度 O(Cnm) O ( C m n ) 我想我可能已经被题目给虐蠢了吧?

T3.phalanx

期望得分:30 测试得分:30 实际得分:30

先把30分的暴力打了,然后就开始想正解,暴力的复杂度是 O(q(m+n)) O ( q ( m + n ) ) ,似乎数据有种刻意卡的感觉,好像来一个log就可以了,想了一下二分倍增,套不进去,放弃打正解了,开始想subtask。

发现x=1的情况,其实就只有最后一列往第一行移动,那么就把最后一列逆时针转90°,然后就变成了一行。我的想法是能不能用懒惰标记,用差分标记某个位置之后的移动次数,查询的时候再用线段树维护区间和,可能可以,但是时间并不够去验证正确性,也就没有实现了。考后还听说这道题线段树会被卡常,树状数组才行。高二的dalao说正解好像是Splay,可以很快A掉。

题解

嗯?题解是啥,以后再填…

你可能感兴趣的:(杂文)