NOIP2018联赛总结
Day 0
打了几个模板,看了一下别人的博客,背了一下vimrc
Day 1
到了考场,先把vimrc配好
打开题目一先把三道题瞄了一眼,\(T1\)似乎是NOIP原题,\(T2\)看上去比较像小凯的疑惑,\(T3\)似乎很经典。我先花10分钟写了一下\(T1\),花半个小时写了一下\(T3\),过了样例之后感觉不太好拍就没管了。然后看\(T2\),一开始觉得和什么\(gcd\)之类的有关。突然想到之前讲过的一道题,然后写了一个最短路的做法,最后一直在卡常和查\(bug\)(结果\(T3\)的\(bug\)还没查出来)
road
期望得分 100
实际得分 100
考场思路
前不久还瞄了一眼积木大赛,觉得做法很有意思,结果没想到。。。(我抄我自己)
正解
直接\(\sum max(a_i-a_{i-1},0)\)即可
money
期望得分 100
实际得分 100
考场思路
首先发现最小的数\(Min\)一定不会变,然后我们设\(f_i\)为\(\%Min=i\)的最小能被这个集合表示的数。两个集合等价就相当于两个集合的\(f\)数组相等。我们先把给定的集合的\(f\)数组用\(spfa\)求出来,将\(f\)排序去贪心取。
正解
如果某个数可以被其他数表示,那么这个数就可以被删掉。那么直接从小到大排序做完全背包即可。
track
期望得分 100
实际得分 85
考场思路
一看就是一个二分答案,check就看树上长度大于等于\(Mid\)的链最多取出来的条数是否大于\(m\)。设\(f_x\)为保证子树答案最优的情况下。\(x\)向上传最长能传的链的长度。在某个节点处将他所有子树的\(f\)两两配对,取较小的配对,最后剩下来去最大的即可。
正解
就是这样,但是考场上写错了一个细节。。。
After Day 1
出来发现大家都\(AK\)了,我一开始也以为我的是对的。结果下午想了一下发现有个小地方写错了。想着希望\(Day 2\)不要挂分吧
Day 2
打开题目一先把三道题瞄了一眼,\(T1\)签到,\(T2\)看上去像一个计数类似的,\(T3\)一眼看上去\(ddp\)模板题。我先花20分钟写了一下\(T1\),过了样例就没管了。然后就一直在看\(T2\),一开始推了一个错的结论,一上去就写了个状压矩乘,结果连\(3\ 3\)都过不了,想了一下好像没那么简单。这个时候是\(9:30\),我觉得有点慌。后来又推了一个结论,已经\(10:30\)我就先看了下\(T3\),发现\(O(n^2)\)和链的情况很好写,就花20分钟写了。然后去写\(T2\)的\(dp\),写完之后已经\(11:30\)过了\(3\ 3\)之后发现过不了\(5\ 5\),然后一直调也没有调过去。
travel
期望得分 100
实际得分 80
考场思路
先把每个点的出边排序,树的话就是\(dfs\)序。环套树就枚举每条边看删去这条边之后的答案,去最优值即可。
正解
我写的是正解,然而在\(dfs\)时我直接按树的方式\(dfs(x,ff)\),由于我剪了一个枝,大样例能过。。
game
期望得分 65
实际得分 50
考场思路
一开始以为就是只要没有在一个\(2 \times 2\)的正方形里有右上角的1和左下角的0就可以了,然后就状压了前一行的状态,矩阵乘法,然而只能过\(n=2\)的。再一推发现每一个斜列上是单调的,想了一下以为如果\((i-1,j),(i,j-1)\)相同,\((i+1,j),(i,j+1)\)必须相同。然后觉得可以分奇偶算答案乘起来即可,然后写了个\(O(m*n^2)\)的\(dp\),最后过了\(3\ 3\),过不了\(5\ 5\),出来发现其实是错的。
正解
找规律题。发现在算出\(m=n+1\)的情况之后就是一个公比为\(3\)的等比数列了,搜索打表即可。
defense
期望得分 64
实际得分 64
考场思路
没怎么看这题,\(O(n^2)\)的暴力很好写。\(A1,A2\)的话就记一个前后缀\(dp\)就可以了
正解
当然可以用\(ddp\)。
回家之后发现这不是和\(nyg\)的模拟赛题差不多吗,直接倍增维护一个\(2\times 2\)的\(dp\)矩阵就行了。先处理出每个点子树和向上的\(dp\)值。在求\(lca\)的过程中,维护\(x,y\)到\(lca\)的矩阵,最后答案为\(x,y\)的子树和加上矩阵答案再加上\(lca\)向上的\(dp\)值就可以了。略有细节。
After Day 2
出来和罗大神讨论了一下\(T2\),他告诉了我那个为什么是错的,每个点影响的应该是一个以它为左上角的矩形。我在回家的路上突然想到我\(T1\)挂了。回去之后看了一下\(T3\)也想出来了正解。
总结
这次\(NOIP\)总体不是很理想,容易题写错了很多。
\(Day2\)的开题顺序也有问题,第三题其实会做,但由于觉得比较难写去写\(T2\)了。\(T2\)想错以后就有点慌,也没有认真观察部分分,只想着写正解。
太相信自己的感觉,考场上总想着硬刚,其实可以尝试打表的总只想自己推出来。
由于暴力比较难写就没写对拍,结果就导致挂分。
计划
接下来的几个月要补上一些我之前不太会的东西(如计算几何,数论等),多做一些\(HNOI\)的题。每次模拟考试多积累一些经验,在各种比赛里积累比赛经验。希望\(HNOI\)加油。