bzoj 1618: [Usaco2008 Nov]Buying Hay 购买干草【背包】

好像是完全背包吧分不清了……
好像是把数组二维压一维的时候,01背包倒序,完全背包正序

#include<iostream>
#include<cstdio>
using namespace std;
const int N=105,H=55005;
int n,h,p[N],c[N],f[H];
int main()
{
	scanf("%d%d",&n,&h);
	for(int i=1;i<=n;i++)
		scanf("%d%d",&p[i],&c[i]);
	for(int i=1;i<=h+5000;i++)
		f[i]=1e9;
	for(int i=1;i<=n;i++)
		for(int j=p[i];j<=h+5000;j++)
			f[j]=min(f[j],f[j-p[i]]+c[i]);
	int ans=1e9;
	for(int i=h;i<=h+5000;i++)
		ans=min(ans,f[i]);
	printf("%d\n",ans);
	return 0;
}
···
posted @ 2018-04-27 16:29  lokiii  阅读(120)  评论(0编辑  收藏  举报