题意
给定一有$m$个点的无向图$G$和一个时间$n$, 图中一些点在一些时间段是不能通过的, 你需要在每一天选择$1$至$m$一条路径$P$, 但是如果这条路径与前一天的$P$不同,则需要花费代价$K$.
设第$i$天路径$P$长度为$length_i$, 改变路径次数为$c$
最小化
$$c\cdot K+\sum_{i=1}^{n}{length_i}$$
分析
设$len(i,j)$表示从第$i$天到第$j$天走相同的$P$时最短路径长度, $dp(i)$表示前$i$天的最小的$c\cdot K+\sum_{j=1}^{i}{length_j}$
$$ dp(i)=min \lbrace len(1,i)\cdot i,dp(j)+len(j+1,i)\cdotp(i-j)+K | 1\leq j<i \rbrace $$
这道题还需要注意的是一个点有可能有多个时间段不能通过
代码
1 |
|