Description
有 n 个时间段,每个时间段都有两节课,牛牛预先被安排在教室 ci 上课,而另一节课程在教室 di 进行。
牛牛可以申请更换第 i 节课的上课地点(即在教室 di 进行),申请被通过的概率为 ki。
给定一张带边权无向图,描述教室之间的联通关系。
现要求出在不提交超过 m 次申请(不是申请成功的次数)的情况下,经过边的权值总和的期望的最小值。
Solution
期望DP。
设 F[i][j][1/0] 表示 当前考虑到第 i 个时间段,已经申请了 j 次且第 i 个时间段是否申请的最小期望值。Dis[i][j] 表示 i,j 两个教室之间的最短路。
接着我们尝试列出状态转移方程
先考虑不申请的情况。
F[i][j][0]=min(F[i−1][j][0]+Disci−1,ci,F[i−1][j][1]+ki−1∗Disdi−1,ci+(1−ki−1)∗Disci−1,ci)同样的,我们也可以写出申请的情况。复杂的一批
这样,就可以快乐地DP了!!!
现在,我们只需要求出 Dis,问题就可以解决了。
我们注意到最多只有 300 个教室,所以直接跑 Floyd 就可以了。
Code
1 |
|