NOIp2018提高&普及游记

(这篇文章是去年写的)

day0

今天上了两节课后就出发了,大概是一点左右到达了宾馆,感觉宾馆条件是相当好的,然后两点出发,两点二十左右到达了考场,看到一群julao已经守候在了大门口,比如GZYjulao,ZJFjulao,YYRjulao,YGjulao,HYjulao等等等等...

然后二十七中开始了往年一贯的传统:合影,然后三个班的人就拍好队形,开始合影了,每次合影都感觉把cls和sls拍得十分挫。

分发完考证后,我先到合肥四十六中的考点去试普及组的机,打了几个比较基础的模板,一小时就这样过去了。

然后一路小跑着到了合肥一中提高组的考点去试机,试完比较基础的东西后,花了十五分钟打了个树剖,然后测了一下,没有任何毛病,于是就提前退场了。

和同学们吃完饭后,我回到宾馆听XJD讲了一下考场策略,就开始写这篇博客的day0了。

感觉自己准备的还算比较充分,我要将这几个月来的所有努力全部投入到这次考试中。

day1

早上起床后骑车去了考场,昨晚连续做了几个梦,都是梦见我如何被提高组的D1T1吊打,正当我忐忑不安地解压完试题后,发现一件重要的事:

D1T1竟然是原题!

于是2min码完T1后,开始浏览T2。

能做出D1T1对于我这种参加提高组的初中生来说已经很高兴了,带着这种心态,我开始在纸上算,然后根据样例和这个问题的性质发现:

只要删去能被其他数线性组合(系数是非负数)成的就好了。

那么exgcd无法解决这个问题,于是考虑用背包解决,写完背包,神奇地发现三组样例全过。

然后看了一下数据范围和时间,这题也正是用背包没有错,时间与空间都十分合理。

上了一个厕所后还剩下2.5h,于是开始看T3。

T3目测是数据结构或DP,正解不会,于是开始全力攻破所有的subtask:

对于a[i]=1,使用贪心。

对于b[i]=a[i]+1],使用二分。

对于m=1,使用树形DP(树上最长链)。

其余使用搜索。

对于我来说,day1早上也只能以这种方式结束了,虽然没能AK,但感觉还是打出了我们初中生的水平,赛出了精神。

因为早上打得比较顺,所以中午回去没有睡觉,看了集网王后直接去肝下午的普及组了。

打开普及组的题面后,就感觉今年的普及组题目不太妙,第三题看出了必须要用贪心或DP,第四题可能要用到树形DP或是字符串算法。

打完了T1T2后,我开始看T3,感觉很不妙,并不是往年那种普及组难度的DP,状态方程与边界处理比较麻烦,那也不能不要分吧,于是我先写了一个贪心,但是贪心却没有过第三组数据,看来虽然DP是我的弱项,但是该面对的还是要面对,我不得不用DP去写这道题,而不是用贪心去逃避。

设计好状态后,我开始推方程,感觉方程也比较好推,但是边界处理十分麻烦,我在上面调了一个半小时,也没有调出正确结果,此时离比赛结束还有1h。

迅速看T4,发现有不少subtask是可做的,于是花了20min写了一些subtask,转回头继续攻T3。

终于T3的前两组样例被我长时间的调试攻破了,但是第三组却又相差很多,只有最后5min了,也没有办法继续了,于是只有无奈检查文件,匆匆交题。

出来以后感觉有点沮丧,因为早上的亢奋导致今天下午做普及组的题心有余而力不足,如果明天不好好对待,可能这次普及一等和提高一等一个都拿不到,让我乘兴而来,败兴而归。

但是难是相对的,我觉得难的同时别的同学也不一定觉得简单,于是我分析了一下今天提高组的试题,思考明天day2的一些题目与算法:

今天T1为贪心,T2是DP,T3是数据结构,那么根据往年的惯例,明天会出现DP和图论,剩下的一题,可能是模拟,组合数学,搜索等等等等,于是我复习了这些算法的模板,准备好好打明天的day2,而不是因为day1的提高而松懈或是因为普及组的事而消沉。

day2

早上是七点起床的,吃好早饭后,我对今天的试题做了以下的分析:

1.今天会有一道图论和一道DP,也有可能是图上DP。

2.昨天普及组的题十分困难,今天的题目也不会像昨天那么水。

3.要抓好每一个subtask,这些小分是决定我是否省一的关键。

于是到达了考场,解压完试题发现果然T1是一个图,但仔细看了一下,其实是一棵基环树。

于是我花了1h想解决今天的T1,但是这题感觉很难,没有任何思路,无奈之下,浏览了一下T2和T3。

T2的话,感觉写暴力都很考验码量,T3一眼看出是一道树形DP。

仔细看了一下T2,暴力真的很烦,而且考场上拿分的应该也寥寥无几,于是使用了打表算法,拿个10-20分应该还是可以的。

T3改了一下数据范围,虽然刚开始也没什么用,但是在写完50分的做法以后,突然想到了一些问题是无需改变的,于是对那些无需改变的问题根本不需要DP,这样的做法能拿到50-100分。

回头看T1,还是只会写树上的,变成基环树就十分难写,只好写了60分的减弱树上版本,此时离考试结束只有3min,检查了一下文件,就这样提交了。

我的NOIp2018也到此结束。

总结:

1.这次提高组的D1放了几道较水的题,导致有些同学第一天打完后很松懈,没有来得及调整面对D2的难题,难题一定会有,所以不能松懈。

2.普及组的34两题难度有增加了,我要在学习提高组的同时夯实好普及组。

3.本次NOIp的subtask较多,设计到许多小分,但是这些小分也不能不要,也许5分都是决定你省一的关键,一定要针对不同的subtask灵活使用不同算法。

4.这次NOIp给我带来了对比赛策略一些很好的实践与感悟,我将在安徽省选中使用它们,不再犯同样的错误。

(去年的自己写的真不错)

上一篇:SDOI 2019 R2 摸鱼记


下一篇:任务调度SchedulerX系列之什么是简单任务