GDKOI2016总结

OI生涯最后一次KOI,差10分一等奖…

Day1

做题过程

看完题目,竟然没有送分题!一眼看过去,我竟然一题都不会做,开始有点慌。
T1,肯定是按位分然后数据结构维护,但是怎么合并两个区间呢?我推了推,发现可以维护前缀的和以及后缀的和,然后我就开打了!打完,对拍,调过,继续对拍,我就赶紧去看T2了。
T2,一开始的想法是给每个点的出边排序。我一开始没仔细想,乱打了个排序比较函数,然后打完之后想想,好像不对。然后我写了式子想化简,不知道哪里脑子短路了,最后划出了一个斜率一样的东西就不会做了…只好放下,去看T3。
T3,想着二分答案然后按拓扑序用dp判,打完对拍发现出bug了。调来调去,发现不能这样处理依赖关系。这时时间剩的不多,我怕再想可能会影响我其他的题,就赶紧去看T4。
T4,明显的插头dp,选择直接拿30分暴力分…
回头看T2,重新化了下式子,又化成了跟第一次一样的式子,有点着急,以为不能排序,又想了一会儿,还是无果。然后看T1,对拍没问题,测了下极限数据,发现跑了差不多2秒,顿时有点慌,立马加了个读入优化,再跑,发现秒过,于是继续对拍…这时离考试结束还有半个钟,我在想,T2现在0分,打个暴力可能多拿几十分(还没打暴力);T3打了暴力,这种方法不知道能水多少分。于是我决定再去搞T2。此时心态已经不是很平和了,这十几分钟仍然毫无头绪。考前15分钟,我准备先预备好要交的文件夹。然而当我拷完程序,检查程序的时候,发现了一个灵异的事件:我T1的读入优化函数打在了读入数据函数的下面,但是之前的编译竟然莫名地过了!(或许是我看错,可是我测了大数据秒过),我马上改了,再测极限数据,竟然还是要2s, WTF?!没办法,没时间去卡常,我要赶紧去打T2暴力。我的暴力方法是枚举考虑顺序,但是后面还傻傻地枚举每条边选不选,于是编码、调试复杂了许多,最后直到考试结束还没打完。

结果

70 + 0 + 30 + 10
T1一般人被卡都只被卡了2个点,但我竟然被卡了3个点…其实前缀的和或后缀的和只用维护一个就够了,另一个可以用区间的异或和处理一下就行了…当时我没想太多,想出了一个自己认为能过的算法就没去想它的优化了…
T2最后的式子可以化得很简单,而且是满足偏序的,我在讲题时再自己化了一遍,竟然神奇地化了出来,WTF?!
T3处理依赖关系用最大权闭合子图,非常经典。我太久没做这种类型的题目了,都生疏了。
T4插头dp…然而我的暴力为什么wa了?

总结

心态不好,考前把KOI想的过于简单了(虽然讲完题后还是觉得很简单)。
考时码完T1差不多9:20了,T1的难度直接影响了我对后面题目难度的判断,以为后面的题会难很多,就怀着畏惧的心态,加上时间关系,导致弱智题没做出来、经典模型忘记、暴力打错。归根到底,还是自己的水平不行。
想出了一个算法,要想想能不能优化它,同时打完要立马测极限数据,不要在最后才测,否则想改也难了。

Day2

做题过程

有了昨天的教训,我决定摆好心态,规划好做题策略,尽自己最大努力发挥出自己的真实水平。
T1,看完数据范围,马上想到记忆化搜索,马上打完,过样例,测了手工数据,再检查几遍就放下了(毕竟是用暴力改的,就没对拍)。
T2,数位dp,很好想,赶紧打。对拍时发现判断边界有些问题,改正后对拍不报错,ok。
此时快10:00了,我去上了趟厕所,回来赶紧看T3。
T3,一开始没什么头绪,就想着对一个串整体处理,然后打了个manacher,发现bug非常多,而且有点难调。于是我决定先打个N^3暴力,但是我判断是否对称的方法有很多问题(因为我是枚举对称点,求最长奇回文半径,然后再判断是否能组成偶数的回文),细节有很多。我决定放弃manacher,换方法做,然后有个好打好调的N^4暴力以及N^3的字符串hash,我选择了后者。可是它非常非常非常难调,调到11:40还是没调出来,我只好放弃,去看T4。
T4,时间原因,只想打暴力。因为一开始看题时想错了,以为同分之后下面是阶乘,上面是等差数列求和,然后现在受惯性思维影响,还是想着先通分。然后我打了个先求阶乘,再乘逆元的方法,并且没仔细想,求逆元用了费马…打完赶紧回头打T3。
最后的时间我都在打T3暴力,但是到最后还是没调出来。

结果

80 + 100 +0+ 20
T1不知为什么wa了两个点。
T3判断对称是把它分成两个回文串,这样想就能把问题简化很多。
T4出来之后猛然发觉不能用费马,但是还是水了20分…

总结

发挥还算正常,就是后两题得分不理想。
暴力分要尽量多拿,能拿的分不要丢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值