GDKOI2016总结

Preface

这是我第三次参加GDKOI,前几天的模拟赛已经使我慢慢进入状态了。这次比赛成绩不错,不过也有值得反思的地方。

Day1

这次比赛人比上次多了大约一倍,所以有两个考场,我们是在二中的考场考的,刚开始就出了问题,导致机房全部机重启,晚了半个小时开考。。。
看完题后,感觉前三题都是可做的,然后第四题就是直接放弃了。

T1:最先做的题,我打了10棵线段树来维护。这些数据结构维护很多个值的题,常数一般较大,所以我弄了不少常数优化,也调了半个小时,结果还没调出来,就中途打了个第三题,回来把这道题调出来了。也对拍过了,但是最大数据跑了1.6s,然后又想不出什么优化了(其实当时我还多维护了两个值,可以删去)。结果评测这题用了虚拟机,最后两个点TLE了QwQ

T2:打了个dp,设f[i]表示i到n的期望,然后也写出了转移方程,但是问题出在了考虑一个从i出发的传送门的选择顺序上:最先我感觉按照传送门v——>u的u升序排序是对的(没有在草稿纸上推算过),但是在结束前10分钟我突然想起这个顺序的问题,结果错误地认为排序没有用,就一时冲动删了排序。。。结果少了100分

T3:水了60分。题目读了几次也没有发现些什么,直到下午讲题才发现这是最大权闭合子图。。

T4:4个小时也没有写这题的暴力。。正解是插头DP,没有见过的题型,还是值得去研究的!

晚上思考了一下人生,然后就是迎接day2

Day2

感觉今天的题似乎更可做了,但是能不能拿完能拿的分是一个问题。。

T1:博弈问题,而且是非常水的一道,打个记忆化搜索就行了。刚码完后就过了样例,但是后来试了几个小数据都输出-1,然后发现代码有问题,因为样例就有 29 个状态,有点难调试,所以弄了差不多一个小时。

T2:经过分析后发现是一个数位DP,然后很快码完,但是在处理n位(假设S有n位)的时候出错了,花了一点时间。

T3:我对这题连续产生了两个错觉:
1. 认为这题很复杂。然后我分类讨论,弄出各种情况,打了Manacher+扩展KMP+主席树,代码量估计4000+,然后在最后的时间没有打完,只交了个输出len的代码。
2. 在后来发现这题只是把原串复制一份之后,只是找个长度和小于等于len的双回文串。然后十分激动地在下午讲了这题,结果在处理长度大于n的时候发现自己错了,被一个用脚趾头算出来的反例打了脸(嘿嘿)。不过也收获匪浅!

T4:是道小学生数学题(雾)。我卡在了求逆元这个问题上,所以暴力也没有打。。正解也值得深究。

总结

这次比赛day1(80+0+60+0),day2(100+90+0+0),水了个初中第二。能拿到的分基本拿到了,也没在难题上花太多时间。但是还有几个小问题:
1. 注意常数优化,如day1 t1我多维护了两个值
2. 理解题意,如day1 t3没有完全读懂,水60分只是随机事件。
3. 细节。day2 t2我错了一个点,是因为t=0的时候我没有特判,返回值为1.
4. 不要在最后手贱,day1 t2就是因此而爆0

比赛中的day1 t4,day2 t3、t4都是值得研究的,感觉这次比赛收获颇丰,现在就是要看向5月的GDOI了!

你可能感兴趣的:(GDKOI2016总结)