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 imes 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 imes 2)的(dp)矩阵就行了。先处理出每个点子树和向上的(dp)值。在求(lca)的过程中,维护(x,y)到(lca)的矩阵,最后答案为(x,y)的子树和加上矩阵答案再加上(lca)向上的(dp)值就可以了。略有细节。
After Day 2
出来和罗大神讨论了一下(T2),他告诉了我那个为什么是错的,每个点影响的应该是一个以它为左上角的矩形。我在回家的路上突然想到我(T1)挂了。回去之后看了一下(T3)也想出来了正解。
总结
这次(NOIP)总体不是很理想,容易题写错了很多。
(Day2)的开题顺序也有问题,第三题其实会做,但由于觉得比较难写去写(T2)了。(T2)想错以后就有点慌,也没有认真观察部分分,只想着写正解。
太相信自己的感觉,考场上总想着硬刚,其实可以尝试打表的总只想自己推出来。
由于暴力比较难写就没写对拍,结果就导致挂分。
计划
接下来的几个月要补上一些我之前不太会的东西(如计算几何,数论等),多做一些(HNOI)的题。每次模拟考试多积累一些经验,在各种比赛里积累比赛经验。希望(HNOI)加油。