7.20 ZROI-Day7模拟赛
7.20 ZROI-Day7模拟赛
赛时历程
精神状态还好,T1一上来前两个sub非常顺畅(不顺畅就有鬼了),第三个sub稍微想了会儿,三个打完已经九点快半。然后考虑第4个sub,可能是什么神奇的随机化,也想到二进制分组或者分治之类的,但是想来都很复杂,于是先去看T2,一看到LCP,心想完了完了,字符串没学好的我又不行了,然后看到这个暴力确实需要一点起码的字符串,不能“零基础暴力”,但是SAM我不会处理这个,还是没学好,SA又早忘了,爆蛋了啊。T3看上去不知所云,自闭了,然后我就挂机了,思考了一会儿T1,感觉不行。
是我自己放弃了。最终只有60分。
赛后发现
赛后发现,T2的字符串还能用hash写,没往这方面想,其实比赛里写的hash挺少的,所以很少往hash上想,还有就是,我明明知道NOI考字符串就喜欢搞hash和SAM,却迟迟没有练习,这是我很大的问题,老是停留在理论而逃避行动。
比赛时愣神的时候我在想,如果这就是NOI,确实可能就是NOI的景况,很多东西都是大部分人都会的,而我呢,像这样挂机么?打铁么?
蔡老板说这几天就是找自己的定位。如果我两天都是这不到100分,那最多cu滚粗。
我心里想:“保铜争银”,然后继续愣神。
这几天再调整一下吧。
技术总结
T1
正解分治,首先要找到一个非0的位置,然后就可以\(O(n)\)确定序列,考虑如果有一个分治区间有至少两个非0的位置,那么一定有一个子区间是只包含一个非0的位置,对这个子区间分治就能够最终确定一个位置,然后如果区间两侧都不能满足,那么区间两侧的非0个数都是\(\le 1\) 的,所以对着两侧集合做一次询问,如果答案非0,那么对着其中一个区间进行查询一定能查到;如果答案是0,那么可能整个大区间只有一个,向上回溯再找即可。
T2
正解二次离线莫队,毒瘤。
T3
是一个群论,直接略过。