【动态规划】超级市场
传送门:CodeVS1253
由于按顺序买菜,因此用$f_x$记录买前x道菜所需的钱,然后转移 要买第x道菜必须前x道菜都买好了 可以枚举买第i道菜作为菜单上的第j道菜,那么菜的品种必须一样 转移如下
$f_i=min(f_i,f_i-1+cost_j)$
转移问题不大,但枚举的时候j要倒序枚举,否则同一道菜可能会被计算多次(参考完全背包和01背包的区别)
代码如下:
|
|
传送门:CodeVS1253
由于按顺序买菜,因此用$f_x$记录买前x道菜所需的钱,然后转移 要买第x道菜必须前x道菜都买好了 可以枚举买第i道菜作为菜单上的第j道菜,那么菜的品种必须一样 转移如下
$f_i=min(f_i,f_i-1+cost_j)$
转移问题不大,但枚举的时候j要倒序枚举,否则同一道菜可能会被计算多次(参考完全背包和01背包的区别)
代码如下:
|
|