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

posted @ 2022-04-05 13:11  Displace  阅读(29)  评论(0)    收藏  举报