GDOI2016第一次模拟总结 4.21 ~ 4.23

前言

又到了一年一度的GDOI,为了更好的迎接比赛,一轮一轮的模拟赛又来了。

比赛过程

Day 1

第一天,为了模拟正式的环境,到了一个新机房做题。第一道题一看完就挺有想法的,觉得根据函数的性质可以用单调队列维护一下。第二题乍一看还以为是字符串,可是仔细想想,其实只是一题披着字符串外表的DP,而且根据题目要求似乎还要套个矩阵乘法什么的。在草稿纸上推了一下,讨论的情况很繁琐,就先看下一题了。第三题看完,第一感觉是计算几何,但是有回想起了昨天刚做过的Kd-Tree,好像能搞,但只能做40分,又想了点小优化,感觉能水一点分。第四题,计算几何,一点想法都没有。

想完题后就开始写程序了,写完第一题开始对拍,发现漏洞百出,感觉用单调性好像会有点问题,但手推一下似乎又没错,慢慢把错调出来后,对拍5000的数据发现没排出有问题,就感觉单调队列又没问题,就搞下一题了。第二题依旧想不出简洁的递推方法,跳了。第三题,先写了一个暴力的Kd-Tree,调完之后,发现时间不多了,感觉优化加的比较麻烦,没对拍Kd-Tree,加优化。可是到最后也没调出来,只好交40分的做法。

结果第一题WA了一个点,第三题MLE了!感觉没发挥出应有的水平。问了问别人,发现第一题不能用单调队列,可这都给我水了90分……而第三题贪心加优化更是能过,感觉有点后悔没打暴力。

Day 2

跟第一天一样,去了楼下的机房。一拿到题目,发现第一题又是一道比较好想的网络流,之前做过建图类似的题目,就去想下一题了。第二题跟昨天一样,也是套了个字符串外壳的DP,感觉这类题目做的比较少,想不出有一个简洁的递推。第三题一看就感觉要打表找规律,第四题数据结构,先跳过。

先打第一题,还是比较好打的,虽然打的时候还是遇到过一些小问题,但还是比较顺利的拍过了。还是感觉第二题感觉如果要把我的想法实现出来要打好久,讨论过于复杂,如果耽误了太多时间又切不下来就太亏了,先跳过。开始搞第三题,先打了表发现一行有用的数最多只有20多个,而且能对一个数Num贡献的行只有可能是前Num行,这样50分就很好搞了,打个暴力加线段树就可以了,打完暴力后想推广到100分的做法,可是脑补不出来。想了想第一题的复杂度,感觉有点危险,出了个极限数据跑了一秒多一点,感觉应该没有问题的。打了第二题暴力,检查了一下就结束了。

第一题居然被卡了30分,而且是预处理Floyd时超了。事后我才得知原来Floyd是有STL库来判断会很慢,改成if就跑的飞快了……二、三题的暴力分都拿到了。但发现第四题人人都打了暴力,顿时感悟,到了这种有难度的比赛时每题的暴力分也是必不可少的。发现第二题只要设对状态就比较好转移,但第二问分类讨论就要复杂点。

Day 3

到了最后一天,回到了平时的机房做题。第一题硬搞了一个小时,觉得可以一个一个数的判断,但又想不出好的办法,感觉有点颓。看了看,第二题奇怪的路径问题,一开始还看错题了,直到最后打暴力发现过不了样例才意识到,一点想法都没有。第三题觉得可以搞搞,感觉很像网络流,就开始拼命想构图,可是不知脑抽了还是怎么了,明明想到了正解,又觉得有问题,不敢打,就这样与100分失之交臂,导致直到最后都没有构出图来,万分感慨。

最后一个小时,发现每题都想不出正解,只好打暴力。比赛结束5分钟前,终于所有暴力都过了样例,感觉应该是没问题了。可是……一题爆空间,一题看错题,一题复杂度搞错了,就是这样爆0了……感觉这个比赛又在最后一天跪惨了。看到每个人都搞出了第三题,感觉有点悲伤。如果是真正的比赛就真挂惨了,看来做题策略还是有点问题。

暴露的问题

  1. 打代码前一定要做严谨的思考,虽然现在比以前好多了,但还是存在问题,要尽量使想出的题目一次打完拍完。
  2. 打完一题一定要检查时间、空间、大数据。如果因为MLE而丢分就太可惜了。
  3. 比赛时不要只盯着每题的正解不放,如果发现想了一段时间依旧没有什么进展,那么可以考虑想部分分,这不仅能都分数有个保障,又可能可以带出正解。有时正解不一定是最好的选择,80、90分的暴力也是可以接受的。
  4. 不会做的题目一定要打暴力,跟别人的差距就体现在这里。
  5. 比赛时一定要保持清醒的头脑,不然有可能想到了正解也会错过……

最后

总之,好好迎接下一场模拟赛吧!

你可能感兴趣的:(GDOI2016第一次模拟总结 4.21 ~ 4.23)