【比赛】NOIP2017 总结

一、比赛过程

Day1:

拿到题目后,立即把所有题目都看了一遍,发现没有很虚的期望DP和概率DP,感到很庆幸。然后发现今年的题目顺序好像有点不对,T1是数论,T2像是模拟,这难道是把两天的基础题放到一天来了?

开始做T1,首先立马想到扩欧,但是想不到它与题目所求的有任何关系,就放弃推导,开始找规律。找规律先看两个样例,发现max(a,b)-min(a,b)好像样例可过,然后验证,一想就想到一个反例,放弃;后来看啊看,又想到了a*b-a-b好像也可以过样例,刚才举出来的例子也可以过,那就这个了!然后又写了个不能保证正确性的暴力,艰难地拍了拍,感觉可以了,就过。

T2没怎么看题,一瞟就知道是模拟,然后开始码。一开始思路很清晰,但因为心里一直想着要腾出时间去想T3,所以T2没有想周全,导致边打边完善思路,于是有一些地方没有仔细斟酌就码了过去,导致两个样例都出了问题,对着两个样例调了许久,浪费了很多时间,最后看到能过两个样例了就没管了。

开始攻克T3,其实不得不说,Day1的思维还是很快的,开完题后立马想到了DP,SPFA和拓扑。然后在纸上推状态转移方程,一下子就推完了,感觉没有什么问题,就开始打。优的算法打到一半,发现时间好像不够,又想先去打个暴力,结果发现暴力不好打,一下子还打不出来,并且不能保证正确性。于是心里就开始慌了,加快速度打优的算法,寄希望于打完优的算法,避免爆零。最后越打越乱,在考试结束5分钟的时候才调出来,随便打个init加多组数据就去检查了。

Day2:

拿到题又是赶紧把所有的题目都看了一遍,没有概率期望DP,爽。

初看T1,以为是计算几何,吓了一跳,后来看完题就想到了正解,码了码就过了。

T2就有点麻烦了,想了哈夫曼树、贪心、最小生成树、SPFA,发现都不行啊,暴力也不好打,那就先跳。

T3暴力还是好打的,于是先码暴力,码完暴力看部分分,有30分好像可以拿,又一想这30分好像有点麻烦,就回去想一想T2正解吧。

结果T2想了好久,还是没有想出正解,发现时间有点不够了,赶紧打暴力,暴力不好打,就打部分分。打完部分分又打最暴力的暴力,但是又没时间了。。。。最后一个只能输出零的暴力被我交了上去。

二、得失总结

考完了之后发现扣了特别多不该扣的分数,少拿了特别多应该拿的分数。总结了一下问题所在,以下列出:

(1)好高骛远。Day1想着要去AK,Day2想着要A掉两道题,结果只想着去打正解,不打好暴力,一步一步来,导致最后分数还没有那些只那暴力分的同学,甚至还有题目爆零。所以以后考试,把目标放低,一定先要把暴力写完,不管暴力有多难写,也要把最基础的分拿到。拿到基础分,再去想最后的正解。

(2)心态不稳。这一点也是又第一点衍生出来的,因为有着一个较高的目标,所以在打代码而又发现没打好的时候,心里就急了,心中一急,大脑就会短路,一些题目就莫名其妙出问题。所以考试一定要保证一个较好的心态,不能因为A掉一题而沾沾自喜,也不能因为想不出来而焦虑不已,平和的心态更有利于维持一个思路清晰的大脑。

(3)忽略细节。对细节的不注意,付出的代价是惨痛的。Day1T2因为init没把数组清完以及数组开小,100变50(虽然官方数据是90),Day1T3后来一看题解,其他思路和代码和我一模一样,只是正解多了一个判-1的if,而我却没有想到。试想,如果把这些分全部拿到,那就可加150分了!!所以之后一定要加强代码能力以及细节方面的培养与锻炼,争取搜索、模拟方面能接近Gt。

(4)本末倒置。拿到题目后,只认为正解才是最重要的,其他的分数不多,不要引起注意。这是大错特错!在同样情况内,如果剩余时间不支持你想出正解,部分分绝对比去想那虚无飘渺的正解更实在也更重要!正解是由暴力,再到部分分,再到最优算法,一步一步来的,而一拿道题就去想正解,这绝对是不现实的。

在联赛到省选这段时间,时间较长,一定要弥补不足,解决问题。

能力不足不可怕,恐惧的是只能展现出你能力的万分之一。

上一篇:vs2012 error c4996: This function or variable may be unsafe


下一篇:【最佳实践】OSS开源工具ossutil-Cannot assign requested address解决方案