阶段性总结 GDOI 2022 PJ
比赛经过
Day ? ~ Day -1
半停课集训,补了很多东西,但是之前漏得太多了,结果是还有很多题没改
打了若干场 AtCoder
,承认自己思维的不足,训练时 dp 与 ds 交错食用效果感觉可以?
Day 0
信 心 赛,被 lll 只用 2h 吊打
最后一题一个普通的线段树。一直在想 set ,大雾
赛前必敲的 manacher
挂了?不祥。
Day 1
上了一节文化课(其实是发呆)后过来,有点蒙。
提前 20 min 录屏,去了个洗手间,精神了一下,开考了
T1 正常签到,一会便切了
T2 ?前缀异或和出现重复就不合法,一次修改相当与删除
然后,我灵光了,去想了各种对于出现不合法的修改要满足条件的操作
@#%#$ 这不就是去重吗,我在干什么?
我花了几乎 1.5h 去写 t2 ,最终只有 10pts
而这个时间用去检查 t3、优化 t4、都不至于之后的匆忙!
T3 :考虑从根节点往下分裂,按点权从大到小排序,用大根堆维护。
一个点最多入队、出队一次,理论复杂度 \(O(n\log n)\)
T4 :枚举公差、首项、项数,算错复杂度了,把项数的 \(n\ln n\) 算成 \(\ln n\)
复杂度 \(O(n^2\ln^2 n)\) ,50 pts 的复杂度愣是给我看成了正解
下午讲题,T3 神似正解。得知 T4 复杂度错误。大炸已定
带着郁闷,打了一下球,也没在乎什么了
Day 2
害
睡到 7 点半,精神饱满,去到机房,打开录屏
开摆
T1 一个同余,显然约数分解
T2 也是结论题,是总节点数 + 叶子节点数,只有叶子节点需要删除
T3 大模拟?!开始想向后跳到整的日期,发现需要判断跳过的情况
码的时候却想到了向前跳,稍加调试便过了样例,共 64 行,2kb 多一点
T4 想到 bfs 到边界,判断移动序列是否是操作序列的子序列。
打了个子序列自动机(确信)
发现做法有问题,又因时间紧迫,没有细想,乱搞连样例都没过
讲题了,T3 写法居然算短?在没有写前缀作差中写法也算优秀了
T4 一个类似最短路的东西即可!自序列自动机已十分接近!
害
惨不忍睹的分数
Day 1 : 100 + 10 + 30 + 10 = 150
Day 2 : 100 + 100 + 100 + 0 = 300
盯着不理想的分数,我也没甚波澜,看 SA
看了一个下午,没看懂实现。
打了球,晚上回去补 LCT
,加深了一下理解。
结束了?
结束了。
已经结束勒!
时间分配不合理、正解打挂,复杂度算错,与正解近在咫尺
我不只一次出现这样的问题了
遥记去年 GDOI 2021
,痛失一等,
回味昨天 GDOI 2022
,正解打挂。
一败涂地。
这并不只是粗心,而反映出更深层,更细节的问题
- 看题急、粗、快
- 编码习惯
- 对拍习惯
- 思维能力
- 调试能力
- 时间分配、考试策略
解决方案
- 仔细,看清条件、约束、特殊点,对着数据范围开数组。沉下心来想做法。
- 每写一处便检查,不全部写完后再检查,增加效率
- 对拍的暴力要写得快,不能出现 Day1T2 暴力写得比正解还久的情况
- 打 AtCoder 吧,发散思维
- 不过分依赖调试,学会使用输出,减少 F5
- 简单题要写得快、好,留多时间给后面的题
需要保持
- 对知识的渴望
- 码力
没了