7月9日模拟赛总结

here.

T1 略。

T2 简单分层图,就是同层连 \(w\) 边,异层连 \(0\) 边(注意是 \(u \to v+n\)\(v \to u+n\) 连,并且不能连回去)。

T3 同 T2。

T4:

现在要求 CD 最短路,显然可以将问题的关键在于要知道哪些边边权为 \(0\),这很显然可以转化为判定一条边是否位于 AB 最短路上的问题。

如何解决?验证 \(dis_{A,x}+w+dis_{y,B}=dis_{A,B}\) 即可,这个跑两遍最短路即可解决。

还有一个只能选一条的限制,怎么办?

容易发现一个性质,即 CD 最短路上边权为 \(0\) 的一段边一定是连续的。采用反证法,若从 C 走到 D 时经过了两段这样的边,结合只能经过 AB 最短路中的一条,这显然没有将这两段连起来更优。

有了这条性质,由于连续的一段显然一定都处于一条最短路上(反证法易证),我们就可以在走最短路的时候强制它只走一段 \(0\) 边,然后再也不踏上去,具体请见代码实现。

成绩:100+18+20+0=138,rk3。

总结:

  • 分层图想清楚连边。

  • 抓住问题本质并转化问题、发掘性质。

posted @ 2025-07-11 23:25  _KidA  阅读(5)  评论(0)    收藏  举报