2022.04.05省选模拟赛总结
1.时间安排
7:20~7:40 看题面
T1:数据结构题,有30分的模拟,还有20分可以预处理得。
T2:字符串和数据结构,有30分的暴力hash,还有20分链的情况可以AC自动机做。
T3:dp题,小数据可能能爆搜,大数据也许能暴力dp搞。
7:40~8:20
把T1的暴力写完,因为漏掉题面很多信息调试了很久,之后把20分的同余预处理也写了。
对100分暂时没思路,先写后面的题。
8:20~10:20
先写了暴力n^2的hash,但是unordered_map无法承受接近1e7个状态的复杂度,所以4000跑的非常慢。
考虑链的情况实际上就是AC自动机的板子,就按记忆打了AC自动机,对拍没问题。
继续想怎么过4000的数据,没什么想法,先写后面的题。
10:20~11:20
先写了最暴力的搜索,预测n=5时所有数都不超过48,加了很多剪枝,但是仍然跑不动,也想不到怎么继续优化。
暴力无望,就开始想怎么dp,也没什么想法。
突然产生一个想法:既然最后答案实际上就是数字和,小数据可以从小到大枚举这个和,看能不能有合法的异或方案,但是没写出来。
没办法就打了贪心,因为加法低位对高位有影响,所以从低位往高位贪,如果这一位全0就不管,这一位只要有1答案就默认有1,看每个数字前面有多少连续1,最短的不做变化,其他都加上2的这一位次幂,一直贪到最高位是0。
和暴搜比较一下,发现正确率似乎挺高,也想不出更优的方法了,就先这样了。
11:20~11:50
一波分析觉得只把树上的叶子存下来的字符串总长应该不会太离谱,就大胆写了lca,但是跑不动,因为字符串复杂度只能做\(O(n)\),所以复杂度还是到了接近\(O(n^3)\),寄。
result:
T1:50 T2:30(AC自动机挂了10分) T3:40

浙公网安备 33010602011771号