ZR 模拟赛9
tmd T1样例看错直接死掉75分我紫菜吧。
A
http://zhengruioi.com/problem/1975
傻逼题。没啥好说的。
B
考虑首先必然存在一种最优解使得第二个人走的边全部都是 \(r\) 边权。所以我们考虑先用 \(r\) 作为边权从 \(s_2\) 开始跑一遍 dijkstra,设最短路为 \(d_2\)。接下来我们进行调整别的边。从 \(t\) 开始反向做 dijkstra,并且在过程中安排边权。我们发现,调整边权的过程中,保持第二个人走的距离不降必然是最优的,在此基础上我们最小化。可以得到,对于边 \(u\to v\) 的边反过来(变成 \(v\to u\)),这个下界为 \(\min(l_i,d_2[t]-d_2[u]+d_1[v])\)。于是我们利用这个边权做即可。(实际上这个边权可以证明不会 \(>r_i\),也就是能保证必然使第二个人走的路径长度不降)。
http://zhengruioi.com/submission/342595
C
生成函数。大毒瘤。

浙公网安备 33010602011771号