[原贴](https://www.acwing.com/blog/content/458/) ### 一、学习过程总结 一开始学背包问题时遇到的大多数的状态表示是:从前$i$个物品中选,且总体积**至多**是$j$的问题。 慢慢地在提高课中,就有出现状态表示是:从前$i$个物品中选,且总体积**恰好**是$j$的问题。例如 [$AcWing$ $1023$. 买书](https://www.cnblogs.com/littlehb/p/15668269.html) ,求的是恰好是$j$的**总方案数**问题。 同时还出现了状态表示是:从前$i$个物品中选,且总体积**至少**是$j$的问题。例如 [$AcWing$ $1020$. 潜水员](https://www.cnblogs.com/littlehb/p/15689906.html) ,求的是总体积**至少**是$j$的**最小价值**。 ### 二、求方案数初始化总结 #### 二维情况 1. **体积至多$j$** 【$01$+完全】 $f[0][i] = 1$, $0 <= i <= m$,其余是$0$ [示例](https://www.cnblogs.com/littlehb/p/15848671.html) **初始化解释**: 用前$0$种物品,在小于$i$的空间内,方案数是$1$,表示由于啥也不能选择,所以不管是哪个空间,都只能有一种方案,就是啥也不选。
2. **体积恰好$j$** 【$01$+完全】 $f[i][0] = 1$, 其余是$0$ [示例](https://www.cnblogs.com/littlehb/p/15848681.html) **初始化解释**: 在前$i$种物品中选择,恰好空间为$0$的方案数,只能是啥也不选。
3. **体积至少$j$** 【只$01$背包】 $f[0][0] = 1$, 其余是$0$ [示例](https://www.cnblogs.com/littlehb/p/15848682.html) **初始化解释**: 在前$0$种物品中选择,空间至少为$0$的方案数,只能是啥也不选 #### 一维情况 1. 体积至多$j$, $f[i] =1$, $0 <= i <= m$ [示例](https://www.cnblogs.com/littlehb/p/15848671.html) 2. 体积恰好$j$, $f[0] =1$, 其余是$0$ [示例](https://www.cnblogs.com/littlehb/p/15848681.html) 3. 体积至少$j$, $f[0] =1$, 其余是$0$ [示例](https://www.cnblogs.com/littlehb/p/15848682.html) --- ### 三、求最大值最小值初始化总结 #### 二维情况 1. **体积至多$j$** 【$01$+完全】 $f[i,j] = 0$,$0 <= i <= n, 0 <= j <= m$( 只会求价值的最大值)[示例](https://www.cnblogs.com/littlehb/p/15848699.html) 2. **体积恰好$j$**: 当求价值的最小值:$f[0][0] = 0$, 其余是$INF$ [示例](https://www.cnblogs.com/littlehb/p/15848719.html) 当求价值的最大值:$f[0][0] = 0$, 其余是$-INF$ [示例](https://www.cnblogs.com/littlehb/p/15848821.html) 3. **体积至少$j$**,$f[0][0] = 0$,其余是$INF$(只会求价值的最小值) [示例](https://www.cnblogs.com/littlehb/p/15848743.html) #### 一维情况 1. 体积至多$j$,$f[i] = 0, 0 <= i <= m$( 只会求价值的最大值) [示例](https://www.cnblogs.com/littlehb/p/15848699.html) 2. 体积恰好$j$: 【$01$+完全】 * 当求价值的最小值:$f[0] = 0$, 其余是$INF$ [示例](https://www.cnblogs.com/littlehb/p/15848719.html) * 当求价值的最大值:$f[0] = 0$, 其余是$-INF$ [示例](https://www.cnblogs.com/littlehb/p/15848821.html) 3. 体积至少$j$,$f[0] = 0$,其余是$INF$(只会求价值的最小值) [示例](https://www.cnblogs.com/littlehb/p/15848743.html)