今天学习到了一个关于dp的小技巧,我就叫它“加维”了。
当发现无论怎么列状态转移方程,都会存在变量时,就可以尝试加维,扩展一个变量的更新。
例如bicycles这道题,它相比其他的图论多了一个可以更换自行车,导致无论怎么写传统的dij都无法更新自行车的变更,因此我们就可以加维,来能够更新自行车的状态。
f[i][j]表示到(i,j)这点的最短路,加一维,f[i][j][k]就可以表示到(i,j)这一点骑k车的最短路,这样就可以实现控制自行车这个变量,让问题迎刃而解了。
今天学习到了一个关于dp的小技巧,我就叫它“加维”了。
当发现无论怎么列状态转移方程,都会存在变量时,就可以尝试加维,扩展一个变量的更新。
例如bicycles这道题,它相比其他的图论多了一个可以更换自行车,导致无论怎么写传统的dij都无法更新自行车的变更,因此我们就可以加维,来能够更新自行车的状态。
f[i][j]表示到(i,j)这点的最短路,加一维,f[i][j][k]就可以表示到(i,j)这一点骑k车的最短路,这样就可以实现控制自行车这个变量,让问题迎刃而解了。