续着上一次的模拟,又有新的一轮NOIP模拟,怀着上一次每天都发挥失常的遗憾,开始了这3天训练
Day 1
今天先是看时间,5个小时!之前可是3个半小时的模拟赛,感觉题目会很难。
先看第一题,裸的树链剖分,可是不想打树剖,而且题目有一些很优美的性质,感觉可以挖掘一个优美点的算法。就先去看第二题,发现是TJOI2016的原题,而我碰巧又看过,回想了一下就想起来了。第三题,一开始以为是连续子序列,式子就很好推了,可是打着打着,有看了看题,题目要求的好像只有子序列这个要求,也就是说不用连续,那就有点懵逼了。静下来想一下,发现只要用树套树维护一下就可一了。简要看了一遍题意,就先开打第二第三题,由于都是数据结构题,没什么细节,很快就打完拍完了。回来想想第一题,发现只要倒着做,然后并查集维护一发就可以了,非常好打,然而离比赛结束还有2个小时。
检查了一下,发现第一题数组开小了,可是如果开到理论值那么大就会爆内存,怀这忐忑的心理,开了个能过随机数据,但离内存上限还有一定距离的数组。然后就等着出成绩了。
最后成绩居然是100 + 100 + 60,第三题被卡了,然而最后发现只要开大2M就能过了,而且过的大部分是跟我一样只不过数组开到了极限!有点小不爽a!有是因为数组开小了就爆炸了!而且这套题是TJOI2016的原题……
小结:检查数据范围,还有一个开数组的小技巧,就是尽量开到极限。运行程序的时候用任务管理器看一下占用空间,来判断空间的利用程度。
Day 2
一看又是5个小时就知道这是TJOI2016的另一套题。
第一题是前晚讲专题讲到的原题,就不管这么多,先开打,半个多小时打完拍完看下一题。第二类斯特林数,而且看起来是挺难的数论,就先放一放。继续看第三题,字符串,难得一见的字符串题,而且我昨晚刚讲过,抱着必切的心理开始想这一题。这题原来是关于前缀的询问,我涉及的似乎都是关于后缀的,就想着构个反串,在草稿纸推了一下发现用SAM可以搞出来,但是要用合并线段树的方法来求right集,有点小麻烦。但是又没有什么其他的方法,就开码,码了一个多小时,拍完后回去想第二题。真心没什么想法,只能打个50分暴力然后弃疗。
最后成绩 100 + 50 + 100,终于有一次拿了我能拿的分,除了第二题的10分梦想分……不要在意这些细节。
小结:比赛时要有梦想,出题人总有可能还是善意的!
Day 3
本以为打完了TJOI以后就不用考5个小时了。然而,事实并不是这样。依旧是5个小时……
看了一下题目,第一题、第三题都是一眼题,有点不敢相信!但感觉有没问题。不敢这么多,先去想第二题。第二题感觉就是贪心,但是递推可能比较复杂,但是我前几天刚讲过贪心专题,怀着必切的心态继续想着题,按照套路从特殊到一般,发现只要把变化后的高度分块后维护一个当前最有值好像就可以了,但要打个主席树,这题虽然感觉比较难打,但打起来还是比较顺利,打完拍完这题过去了3个小时。回头看另外两题,仔细想想好像就是裸题,答完第三题发现数据有点难出,拍完后没有十足的把握A掉,于是研究了好久,出了各种特殊数据,前前后后搞了一个小时。第三题,一开始有个比较直接的想法,可是打完感觉有问题,会出现负数,而时间也不多了,想到另一种做法,想重打一个,但不够时间,就弃疗了。
最后成绩 0 + 100 + 100,第二题居然只有我一个切,有点小惊讶,因为感觉沿着贪心的思想应该可以推出来,最后看了看第一题的题解,就是我一开始打的方法,仔细想想,的确没有错。
小结:就算到比赛的最后关头也不能紧张,遇到问题冷静下来思考。还有到最后自己不确定的方法也要交一发,有可能是正解……
总结
这次轮比赛居然一场都没切,有点小遗憾……看来要不断完善自己的做题策略,在会做的情况下,把能拿到的分都拿到!