传送门
我的部落格
貌似没有比较通俗介绍红绿灯期望介绍方法的?我来一发不需要积分基础能看懂的严谨证明~
题目大意
这道题 luogu 题面不太清晰,大意给定一张无向图,你需要开车从起点走到终点,有些点会设红绿灯,给出每个红绿灯的红灯时间和绿灯时间,你见到红绿灯时红绿灯的状态随机 \(^1\),你只能连续开油箱中储存油量时间车(等红绿灯也会耗油),到加油站会补油,求到终点的最优路线,使得:
- 期望时间最短
- 经过红绿的数量不多于给定值。
\(1\): 状态随机指在红绿灯循环周期中的一个随机时刻(可以不是整数)
题解
先说结论,红绿灯的期望通过时间是 \(\frac{red^2}{2(red+green)}\)。
注意到当我们在周期的 \(x\) 时进入的话,贡献就是 \(max(\frac{red-x}{red+green},0)\) ,对 \(0\) 取 \(max\) 的原因是如果进入的时间大于 \(red\) 那么就直接通过了,然后我们以 \(8\) 秒红灯,\(1\) 秒绿灯画出函数图像:
那么对 \(0\) 取 \(max\) 就相当于不计算函数值为负的图像,再加上 \(x\) 只能为正就是只算第一象限,不难发现第一象限的贡献之和就是一个三角形:
然后当 \(x\) 取到 \(0\) 时有三角形的高 \(\frac{red}{red+green}\),三角形的底就是在第一象限时 \(x\) 能取到的最大值 \(red\),于是有总期望为:
\[
\frac{red}{red+green}*red*\frac{1}{2}
=
\]