GDOI2017第四轮模拟总结

来源:互联网 发布:求生之路2怎么联机网络 编辑:程序博客网 时间:2024/05/16 18:25

day1

从今天开始到隔壁机房做题,模拟比赛环境。
一开始看完所有题,发现t2是原题,只是改了个小地方。其它三题一眼不会啊~
然后先从T1(一道字符串题)开始。先倒过来建个sam,然后对于两个不同的right,列出式子,随便化化,然后维护几个值。但是码完后对拍发现错了,由于式子太长,我又码了个第二档来验证式子的正确性。于是我在前1.5h要检查三份代码,调试到倦生了。。。于是先放着去做后面的题。
T2的暴力很快码完了,我记得正解是线性基,但是这东西太久没碰过了,怕打挂(虽然很短),于是码了暴力就弃掉。
T3暴力码完后,发现可以折半,枚举左边放什么数,然后左边右边各枚举排列,最后合并一下。但是合并时很sb地码了个快排,强行带个log,但是测极限发现奇迹般地可以过。
T4码完暴力后,想了一会没有想法,最后又回到T1,最终调试出来了。但是考虑到式子比较长,而且有爆long long的危险。但是经过我的一波分析后,中间我写的那个长式子的值上限是5*10^18,不会爆long long。
最终(50+20+100+30),T1还是飞了。后来发现我重点关注的式子没有爆long long,是后面一处没怎么关注的地方爆了int。。
T2好多人没注意到修改的地方,然后fst了。。

day2

拿到题,发现又是所有题一眼没什么思路。瑟瑟发抖.jpg
没有思路,就立刻开始码暴力。码完后发现T1开始有想法,处理询问时可以做一次DP。然后把DP预处理,就得到复杂度可以过的算法了!
然后开始淦T2。很容易得出结论:用若干个不相交的、相邻元素距离相等的序列覆盖这个环就是平衡的。然后一个质数就随便搞搞了。两个质数不会做,就随便码了贪心。
又看了一遍T4,感觉是用lct在树链上处理一些信息来在线维护带权重心。我太弱了果然不会,于是剩下时间全部用在T3。
花了很久时间去理解题目,然后开始找输出-1的情况。最后在11点开始码T3。码了3k,然后出了几个小数据,最后还没时间拍了,感觉虚得很啊~
最终(100+90+100+20),T2只做一个质数就能有90分。。

day3

//一大早就被一群人疯狂地奶(甚至物理组也有人奶我rank1)。。。心情复杂
看完题后,发现T2又是原题。。。其它题似乎不会。但是我先做的是T1。
T1先研究了p=2的情况,发现不难处理,然后结合了暴力码了60分算法。感觉剩下40分是洲阁筛(因为我发现似乎跟质数有关)
之后做的是T3。发现70分是很好想的,然后开始尝试把预处理的复杂度降下来。枚举一个向量作为基准向量,然后两个方向各找一个夹角最大的。然而对拍的时候发现数据真难造,最终硬着头皮码了个凸包来造数据。。。
然后倒回来,沿着原题的思路去想T2。发现似乎有点差别,但是大体思路是一样的。很快就码完了。
现在时间到了11点,我开始想T4。把样例画出来后发现不会算,于是连续看了好几次题,差点认为题面有问题。后来终于会算样例了,这时大约是11点半。
剩下一点时间,不可能去冒险想正解,于是设法把nm≤20,n,m≤10的点全部拿下。这几个点其实就是一个插头DP,而且情况一点也不复杂,然后突然码力++,10分钟码完+调完。
//最后交题在oj上,我看到T2的文件名似乎不同,然后下意识喊了一声”WTF”(不过很小声),总觉得会有人被坑。
最终(60+100+100+35)

总结

最后一轮模拟也落幕了,现在要全面总结一发。

做得比较好的地方

  1. 暴力分基本能拿稳
  2. 码正解有对拍过,并测试极限
  3. 看完题目没有跟着感性思维去走,去死磕某道题,而是规划好做题的顺序,并且暴力先行

还需改进的地方

  1. 还是存在爆类型的问题,有时候某些式子比较长就要仔细分析,实在不行就算一次模一次,或者全部开long long,同时要兼顾到程序所有部分
  2. 要尽可能地去优化自己的程序。有时候想出来了,但是一些地方强行加了些常数或复杂度。
  3. 掌握的知识点或题目,在考场上不能没拿下。

比赛时要注意的

  1. 看完题,先把暴力分拿下。提前码好暴力可以在最后想不出正解时题交,同时对拍可以用。不要拖到后面再码,因为到比赛进行一段时间后可能出现死磕正解不想中途码暴力、正解调不出来、题目太难导致自己没心情码暴力的情况。
  2. 大体评估题目的难度,同时结合自己对知识点的熟悉程度,来规划做题顺序。有时候题目不是按难度顺序出的。。
  3. 比赛中遇到瓶颈时,让自己冷静一下,调整做题的方向。这里可以借鉴某dalao的做法:把自己对于每道题的思路写下来。
  4. 多留意部分分,有时候部分分很关键,它既可以扮演提示正解的角色,又可以成为决定与他人分差的因素。
  5. 对拍时数据要多样。随机的拍一下,构造一下特殊情况来拍一下。就是想办法去卡自己的程序,把出题人的数据想得尽量强。
  6. 注意自己程序的常数,因为GDOI的出题人是不给时限的。具体点来说,可以把while打成for,用问号语句替代掉min、max函数,等等。有些东西可以直接用数组存就不要排序或map。
  7. 稳中求胜!
0 0