题意:这是一个关于小猪存钱罐的问题,给你小猪存钱罐的最初重量和装满重量,然后再给你一些金币,金币有价值与重量,求小猪装满的情况下价值最小是多少。
思路:容量很容易求出,但是问题是如何求出最小价值,那么可以想到初始化和dp条件,初始化为inf,但是dp[0][0]必须设置为0,这样是满足条件的情况。
对于完全背包又忽然理解了为什么要从w[i]开始遍历,这里的状态是在这个j下这个物品要不要装。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define inf 0x3f3f3f3f
int n,m;
int dp[1000000];
int w[510],v[510];
int main()
{
// freopen("in.txt","r",stdin);
int T;
scanf("%d",&T);
while(T--){
memset(dp,inf,sizeof(dp));
scanf("%d%d",&n,&m);
m