2022.03.23省选模拟赛总结
1.时间安排
7:30~7:50 看题面
T1:树上问题,很复杂,除了暴力感觉不可做。
T2:数据结构题,\(n^2\)或许可做。
T3:博弈题,暴力也完全没思路,考虑放弃。
7:50~8:30
码完T1的暴力枚举排列。
发现叶子节点数只有\(6e4\)左右,似乎具有良好的退火性质,就大胆写了一发模拟退火,优化后大概能做5000次,感觉或许能骗到分。(然而还是一分没得……)
8:30~8:45
码完T2的状压。
先想了怎么优化暴力,但是没有结果。(状压怎么可能能过3000啊……)
8:45~9:20
感觉T3似曾相识,就想试着磕点分。
发现主要是第二个人交换数字把字典序变最大的操作不好维护,就想了很多贪心的方法,但是都没有普遍满足的,总被卡掉,就打消了暴力枚举排列的念头。
就是因为上面这个原因导致退火也不好写,思考很久,还是放弃了。
9:20~12:00
回头看T2,发现可以\(n^2\)dp,码完和暴力对拍没问题。
考虑数据档给了\(1e5\)和\(1e6\),思考可能\(1e5\)是\(O(nlog^2n)\)的做法,但是没有想出来。
思考权值\(\leq10\)的分数。
mex值最多变化10次,或许可以做到\(O(10*nlogn)\)的复杂度,极限过\(1e6\)。
码的时候发现二分的check函数不可能做到O(1),于是退化成了\(O(100*nlogn)\),自己手动加了O2才能跑动。
思考新加入的数字只能影响mex值等于它-1的区间,其他都是继承前面的。
虽然结论是对的,但是细节一直调不出来。时间不够了,无奈放弃。
result:
T1:10 T2:40 T3:/
2.反思
T1:
至少模型转化成求一个叶子序列使得所有相邻叶子间的距离最大值最小是对的……
正解有点类似于dsu on tree。当初学dsu on tree时就没学好,要复习了。
T2:
作过原题但是没看出来……
必须复习了。
T3:
好像也见过原题
为什么不rand呢,rand还有10分……
考试时一直在往博弈上面想,始终没有觉得这题是个图论,把互质关系转化成连通块是第一次见。
3.简要题解
T1:咕
T2:咕
T3:咕
4.反思
1.复习
已经很久没做过dsu on tree了,包括前面考试的fwt等,都需要复习了。
抽时间背背板子做一两道题吧……
2.随机化
虽说随机化风险很大,但是总比0分强,真的啥都写不出来了如果不是subtask写点随机化或许能骗到点分。
而且骗分也不能真全随机,比如T1,应该把叶子先随机一个dfn序再跑模拟退火会更优。
3.互质模型
T3把互质的数通过质因子连成连通块来分析太妙了,这种图论模型转化从来没见过。
一般来讲常见的互质的处理方法是莫比乌斯反演,通过这场学到了也可以转化成图上问题。

浙公网安备 33010602011771号