NOIP2018联赛总结
一.考试过程
day1
一进考场,发现监考老师并没有管我们提前动电脑,于是赶快打\(vimrc\),打完后解压压缩包正好\(8:30\)。
先把三道题都看了一遍,发现只有\(t3\)一眼秒掉了,但是根据以往的经验,\(t1\)都不是很难,所以我还是决定先做\(t1\),由于我并没有做过积木大赛那道题,想了一会,想了个单调栈+树状数组的暴力做法,打完一遍过了大小样例,就没管了。
\(t2\)没什么想法,先把\(t3\)写了,写到一半发现有个贪心用指针无法维护,就用了个\(multiset\),虽然复杂度多了个\(log\),但数据范围只有\(5e4\),应该可以过,写完直接过了打样例。又造了个可以把我复杂度卡满的菊花树,发现要跑\(1.3\)秒,但是今年\(ccf\)的评测机跑得很快,所以应该跑得过去。
回去看\(t2\),想了一会发现一定是用原来的所有数再去掉一些数,那确定每个数是否可以被去掉可以用背包判断,我把每个数都模上最小数,然后设\(dp[i][j]\),表示商为\(i\),余数为\(j\)的方案是否可达,一开始\(dp\)数组用\(vector\)开的,过了他给的大样例,但是极限数据跑不过,有想了一会发现可以用一个数组把状态压下来,然后就跑得很快。做完三道已经\(11:30\)了,检查了一会就下考了。
day2
开考后把所有的题都看了一遍,发现有只有\(t3\)会做,但是只会\(ddp\)的做法,由于怕调不出来就写了个暴力。
想了一会\(T1\),发现会做一个\(log\)的做法,看了一眼数据范围,发现只有树和环套树的数据,并且数据范围只有\(5e3\),那就可以暴力做了,写完过了大样例。造了个最大的环,发现跑不过,又花了十几分钟在\(dfs\)里剪了下枝。
\(T2\)不会做,只打了个20分的暴力还过不了\(3\ 3\)的样例,调了好久调不过去,但是发现\(n=2\)的好像是对的,又写了个\(dp\),可以把\(n=2\)的答案算出来。就有\(50\)分了。(考完后发现忘记判\(n=1\)的情况了,但是最后没挂分)。
又去看了看\(T3\),写了个树高不超过\(100\)的部分分,就下考了。
二.不足
本次考试\(day1\)发挥比较好,但是\(day2\)出现了许多问题,其中最大的问题就是心态出了问题,主要是觉得\(T2\)应该不难别人都做出来了,于是就拼命地想,还有就是暴力一直调不过,越来越烦躁。后果就是\(T2\)忘记判\(n=1\)的了,\(T3\)有\(8\)分忘记开\(long\ long\),所幸都没有挂分。
还有就是考试策略,总是想着去写正解,最后浪费了很多时间,却没有拿到什么分。总是想着拿高分,却忽略了部分分,例如\(day2T3\),其实这题部分分分的特别细,有\(A,B,C\)类还有\(1,2,3\)类,考试的时候总在想如何拿到\(A\)的所有点,最后没写出来。出来发现其实\(A1,A2\)特别好写,下次要注意。
三.计划
联赛考完了,以后继续认真考试改题。复习一下以前学得东西,许多东西太久没写就会忘记。多学习一些较难的知识点,多做做历年的省选,全国赛题。并多打比赛锻炼思维。