Summary
好久没有做GDOI模式的比赛,突然面对4道题,感觉整个人都不好了。
第一题一眼O(nlogn)算法,但是就不知道怎么线性,想了一段时间弃了。
第二题觉得应该是扫描线,但是感觉可能会有鬼畜的转向情况,不知道怎么办。
第三题,一眼O(nk2k)算法(那个k其实在搞笑),但是没有发现会MLE,以为卡常可以过去。
第四题,模型转化成一个环,已经有一些区间覆盖了一部分点,然后用最少的长度为
开始码T1,我以为二分比较慢,就用了倍增来代替。T3开始码才想到可能会MLE,于是感觉思考如何卡空间,然后想到了一个很机智的方法,但是偏偏利用了我不太熟悉的长链剖分。T3过样例加对拍化了比较久。做完之后还只剩下40分钟左右了,一直在权衡做T2暴力(70)还是T4暴力(30),最后选择了更高分的那个(虽然暴力打得很暴力以至于只拿了30分)。
最后70+30+20,大跌眼镜。怎么T3对拍过都错了,查了一波发现是自己长链剖分的轻边数目估计错了,出数据没有出到会错那种数据。后来转念一想woc打什么长链剖分,直接上重链剖分轻边不就是logn级别了吗?
T1想当然地认为倍增过程中位置加上倍增长度不会超过区间右端点,结果就错了。
T2其实(除了一开始)就不会向左走了,这个性质我没有发现以至于暴力都T惨了。
这次比赛感觉因为怕时间不够,每一道题都没有思考得太深入,觉得不太行就切换了,这样不太好。
Experience
∙每道题给足思考时间,努力挖掘性质。
∙不要什么都想当然,尤其是自己之前没有实现过的东西,还是不要太自信,一定要仔细思考一下是否有没有考虑到的情况。
∙重链剖分/长链剖分可以在某些时候起到压空间的作用。