7月5日模拟赛总结

here.

T1 想树形 dp 未果,遂暴力 70。

正解需要进行奇偶性分析。由于所有点权和一定为偶数(是奇数直接可以排除掉),所以对于一个和为偶数子树的子树,可以选择切掉它或者不切掉它,根据乘法原理,这样可以贡献两倍的方案数,于是维护一下子树和然后上快速幂即可。

T2 曾经做过,但是现在没有思路了,遂 0。

正解直接在最短路的求解过程中顺带着转移一下即可。需要一点分类讨论,就是当最短路要被更新时继承,可以被平替时累加,这个看一下代码就会了。

T3 比较难想,直接放弃 0。首先这种看上去就很二维偏序,于是考虑把 \(\max\) 那个东西摁住(将边按边权排序即可)。现在的问题是怎么找出 \(1 \to n\) 的路径,然后维护最小值。如果弱化一下,只要找出 \(1 \to n\) 的路径,这种可达性问题,直接上并查集即可。现在要维护最小值,只要改造一下 merge 即可。

也就是说,我们的思路是:按照边权从小到大合并边,同时动态维护最小值,每当 \(1,n\) 可达(换言之,在同一集合内),就对当前边权加上当前最小值取 \(\min\) 即可。这样,排序保证了 \(\max\) 最小,而动态维护则保证了 \(\min\) 最小,本题得以解决。

T4 看到 \(10^4\) 本来想用暴力冲过去的,结果 wei 了 84。考虑在 DAG 上是好做的,如果只有一条链那么链尾的大小就是答案,否则没有答案。现在不好直接做,那么我们缩点成 DAG 不就行了?!

成绩:70+0+0+84=154/400,还混了个 rk1(笑点解析:只有 3 个人)。

总结:

  • T1 奇数偶数的题一定要在奇偶性上多思考。树上问题以子树为研究对象。

  • T2 求某种特定路径的个数直接在求这种路径的过程中 dp 即可。

  • T3 二维偏序先排序并查集维护可达性问题

  • T4 考虑弱化问题(如复杂图化为 DAG 等)。

posted @ 2025-07-05 23:16  _KidA  阅读(9)  评论(0)    收藏  举报