P9447 [ICPC 2021 WF] Spider Walk 题解

· · 题解

:::::info[闲话] 尅爱死塞地刚怎么这么强。尅爱死塞地刚怎么这么强。尅爱死塞地刚怎么这么强。尅爱死塞地刚怎么这么强。尅爱死塞地刚怎么这么强。尅爱死塞地刚怎么这么强。尅爱死塞地刚怎么这么强。 ::::: :::::info[题目基本信息] 考察:STL,整体转移(省选/NOI-)。
题目简介:
n 条直线和 m 个桥,第 i 个桥连接了 (t_i,d_i)(t_i\bmod n+1,d_i),初始时你在 (k,0),你可以不花费任何代价地向右行走任意实数长度,直到你的位置是一座桥的端点,这时你必须沿着桥走到另一端,但是在一开始的时候你可以花费 1 的代价任意钦定 td 建一座桥(t\in[1,n],同时 d 可为任意实数),问最终抵达 (s,+\infty) 最小代价,你需要对于每一个 k 满足 k\in[1,n] 求解答案。
数据范围:

复杂度不重要,重要的是思想。
注意到两个相邻的数之间只能相差 -1,01,但是然后怎么办?
然后我们看刚刚的那两步:

这样我们就做完了这道题。

时间复杂度为 \Theta(n+m\log n),空间复杂度为 \Theta(n+m)

code