时间安排
13.50-14.05 审题
发现全是大阅读理解,没有一个个仔细地读,后两题就简略的看了一下
14.05-14.30 码T1 调T1
把T1码出来,并且过了大样例
14.30-16.00 码T2 调T2
用堆维护即可,然后就开始眼看加打表debug,第二组大样例怎么都过不去,比赛时计划到4点就弃掉了,但马上四点的时候找出来了最关键的bug,过了第二组大样例
16.00-16.20 继续调T2
第三组大样例差一点,应该就差一个细节,简单看了会儿就找出来了,把打表删掉,留下完整代码
16.25-17.00 写T3暴力
简单dfs了一下,中间用单调栈来维护一下左右两边最近的比它大的值,然后模拟一下过程,打了30分表
17.00-17.30 写T4暴力
写是写了,但感觉时间太紧了,题也没读明白,就照着自己理解打了10分暴力
赛后反思
debug问题
刚才我以为是我不会重定义堆,导致我debug很久,但我发现是我把两个池混淆了,后来打表发现不对劲,发现了这个问题。整体上debug的速度还是挺快的吧,但变量设的有点乱导致我混淆了,考试写这种模拟大题包括普通的题目时,变量名应该起的有点象征意义
时间分配
还是这个问题,前面的题一有想法就太容易钻进去直到钻不动,然后就会导致后面两道题只够在一个小时内打掉暴力分数,没有拓展思考的空间。其实就是个运气的过程,如果我在这段时间内把T2正解写出来了,就是一个故事,写不出来就是一个事故了。时间观念还是有的,但之后应该在多分配半小时到后面题上,最起码保证一下至少有一题我能进行深度的思考
数据结构拉胯
码力不足也想不出来,很自闭。T3想到笛卡尔树了(“这几天你们会经常见到笛卡尔树”),但是仅限于看出来,完全不会码