本文主要是介绍SDOI2015游记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Day1
今天的遗憾主要在于T1,没有想到2个块里可能会有两种不等价的交换,其实这种计数问题,应该要想到会有不等价的情况的。。但是我还是没想到,导致白丢了15分。
但是反过来想,其实即使我想到了不等价的情况,实际上我也觉得我搞不出正解的,我并没有想到可以用搜索来解决这个问题,虽然它在知道题解之后看起来很显然了。
那么,作为总结的话,是要告诉自己以后该怎么避免这种情况的发生。
①计数类问题,其实往往就是算出等价搞个通项,然后找不等价的情况;这其实是很常见的思路啊。
②其实一算时间复杂度不对就感觉出来不太对了,然而我却自以为是地任它在N=4拍一坨0;这是不应该的,实际上如果拍N=2的情况是很容易拍出来的。
也就是说什么呢,考场上的时候如果觉得自己做得可能有点问题,一定不要自负地觉得不会有问题;一定要手动构造几组数据试验一下!做对一道题比写一坨不靠谱的代码要重要的多。
③不过这道题倒也告诉我不要盲目相信对拍,比如说这种拍出来大部分是非法解的题,一定要手动构造数据试图卡死自己~
T3是个数论+DP+矩阵乘+FFT,我只搞了10分,剩下地连60分的没听懂。。(60分好像跟30分)。
Day2
今天下了雨,加上昨天晚上玩太晚了,导致非常困。看了第一题之后发现异常的水,30min写完之后发现不会写暴力对拍。然后思考了半个小时暴力,最终还是放弃了。接下来便开始各种胡思乱想:昨天zky说会有一道网络流,没想到真出了,押题押得好准;浩哥他们网络流24题都刷废了一半,这对于他们来说肯定是道一眼题;今天的题看起来是娱乐向,估计要有一大片AK了……
各种胡思乱想之后开始看B题,发现是个数论,感觉有点思路,然后就开始一边想题一边胡思乱想,直到又过了1h。。觉得T3似乎可以莫队乱搞一下,但是开始写了以后发现需要容斥,然后一算复杂度(就算错了。。),把约数的那个复杂度搞成了 O(2log2N)=O(N) ,然后就成了 O(TN2) 的复杂度。。现在想想,其实莫队似乎好像应该可以啊。。(感觉可以YY一个 O[(N+T)N−−√ln(Nlog2N)] 有时间还是再写写试试。。毕竟正解是反演)
还有2h的时候搞到了C题,发现是仿的WC的一道题,然后就开始写线段树,一个小时写完,但是对拍的时候发现少考虑了一种情况,导致一直调到了最后;然后即使我加上了这种情况依然不对。。(我也不知道为什么。。有时间要再拍一拍!!)
然后还有5min的时候我才开始搞提交的问题,还一直在想着我C题为何不对。也不知道暴力的调试信息删了没就把它们一股脑塞进去了,本来还本机Cena测一下也来不及了。。
于是Day2就这样在30分钟的T1+暴力和4.5h的胡思乱想四处乱搞中过去了。。
不过也好,给我不少教训:
①考试前夜不要颓废,好好睡觉!早上起来去跑步——还是很管用的!
②考试的时候一定要精力集中,不要胡思乱想,专注于你所考虑的题目——不要考虑别人,专注于你自己;不要考虑其他题,专注于你所在想的题。还是要练字,读书,以获取一颗宁静的心。
③做线段树的题的时候,一定要想好想仔细子区间的信息该怎么合并后再开始码代码;如果发现自己陷入了不断拍不断改的地步,一定要及时跳出来!
④最后10min的时候一定要停下来,不必再做了,不可能做出来了。检查所应该注意的一切,数组大小啊输出格式啊什么的,用Cena评一下所有的代码——以后模拟赛的时候,也一定要这么做——把模拟赛当正规比赛做,这才是模拟赛存在的意义啊!
⑤做题的时候思维一定要缜密,很多时候,粗心不一定是写错一行代码,而是错过一道标算。
关键字就是:注意力+考试决策+缜密而不失大胆的思维!
这篇关于SDOI2015游记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!