20230928天七集训测试总结

状态比上次联考要好,策略和心态上都没有再出问题,就是要注意对拍。

T1

大水题,切得很快。

T2

一道博弈论,思考方向错了。曾经脑袋里可能飘过一两秒正确的思路方向但是没有继续想。

部分分打得还是比较多,虽然没有打满,但不是很重要(和 T3 比的话)。

每次决策将集合分成两部分,空集返回 \(0\),共 \(m\) 层。复杂度 \(O(nm)\)\(b_i\) 相等的情况启发我们,如果两人都能做到使答案为 \(0\) 则答案一定为 \(0\)。一个人最多需要 \(\log n\) 次(自己操作)就能使答案为 \(0\),故层数最多是 \(O(\log n)\) 级别。最终复杂度 \(O(n\log n)\)

T3

读完题就会了(感觉难度严格小于 T2 呀)。但是!圆方树建错了...且由于大样例过水没有发现,也没有对拍,直接恭喜挂掉 \(100pts\)对拍的重要性!!!

一个基础的建图技巧,向因数中恰为两个质数之积的数连边,边数和点数都是 \(O(n\log^2 V)\) 的。然后跑 tarjan 建圆方树,对最大的连通块做一遍类似找重心的操作。

T4

\(10pts\) 暴力都这么难打,打了二十多分钟。

又是贡献。论思维难度,虽然我在考场上没有想出来,但实际上并不是非常困难,只是粗略估计码量巨大。

可以用 dsu on tree 预处理出每个点的子树内的路径条数,考虑固定一条路径时另一条路径的情况数,并归到路径的三个关键点(端点和 LCA)的贡献。计算包含一个点的路径情况数就将三个贡献分别计算并减去。

posted @ 2023-10-02 21:46  牛肉爱吃dks  阅读(15)  评论(0编辑  收藏  举报