O problema da mochila é uma programação dinâmica clássica, que é dividida em mochila 0-1, mochila completa e mochilas múltiplas. A mochila 0-1 trata de escolher ou não escolher, e a mochila completa trata de escolher alguns itens quando o número de itens é infinito. Mochilas múltiplas são uma questão de escolha quando a quantidade de cada item é diferente.
Principalmente master 01 e completo
01 mochila
Aplicável a
- Um problema típico da mochila 01. São n itens. Todos possuem qualidade e valor próprios. Existe uma mochila com volume V. Qual o valor máximo dos itens que podem ser levados? ACW_E2
- Pegue vários valores de uma sequência para que a soma desses valores fique mais próxima do alvo. Pergunte qual é o valor mais próximo M1049
- Pegue vários valores de uma sequência para que a soma desses valores seja o alvo. Quantos métodos de seleção existem? M494
- Selecione vários itens de um grupo de itens. Os itens têm volume e peso. Esta não é uma mochila múltipla, mas o peso dos itens tem duas dimensões. M474
Mochila completa
A única diferença da mochila 01 é que a quantidade de itens é ilimitada
- Problema típico de mochila completa, ACW_E3
dp[j]=max(dp[j],dp[j-vs[i]]+ws[i])
- Selecione várias matrizes de uma matriz para formar novos números, e não há limite para o número de cada número, M518
dp[j] += dp[j-coins[i]]
- Selecione várias matrizes de uma matriz para formar novos números e não há limite para o número de cada número. Pelo menos quantos números podem ser combinados para formar o número alvo M322
dp[j]=min(dp[j],dp[j-coins[i]]+1)
- Selecione vários arrays de um array para formar novos números, e não há limite para o número de cada número. Mas quantos tipos de permutação existem? M377
先容量再物品 dp[j]+=dp[j-nums[i]]