本题要求计算有向无环图中每个节点的“波动幅度”,本质是对于每个起点 s,求出从 s 出发沿有向边可以到达的所有节点(包括 s 自身)上可能被记录到的信号强度的最大值与最小值之差。
信号强度的计算
从起点 s 出发,沿路径经过 d 条边到达节点 v 时,记录值等于 max(0, av−d⋅k)。
因此,对固定的起点 s,所有可达记录值就是该起点能产生的“信号集合”,我们需要求该集合的极差。
动态规划定义
在一个由 n 个基站和 m 条单向光纤构成的有向无环网络中,每个基站 i 的初始信号强度为 ai。
信号在传输过程中,每经过一条光纤需要 1 个单位时间,同时所有基站的信号每单位时间会自然衰减 k(衰减后的值不会低于 0)。当信号抵达一个基站时,会记录该基站当前的信号强度(即初始信号强度减去传输经过的总时间乘以 k,结果若为负则视作 0)。
对于一个基站 s,定义其“波动幅度”为:从 s 出发,沿着光纤可以到达的所有基站(包括 s 自身)上可能被记录到的信号强度中,最大值与最小值的差。注意,前往某个基站可以经由不同路径,不同路径消耗的时间可能不同,所有可能的到达情形所记录的信号值都应纳入考虑。
请你求出每个基站的波动幅度。
约束条件:
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.