bzoj2287:【POJ Challenge】消失之物

传送门

sb背包,先做一遍背包,然后考虑每个物品不用造成的影响
代码:

#include<cstdio>
int n,m,f[2001],a[2001],g[2001];
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)scanf("%d",&a[i]);f[0]=1;
	for(int i=1;i<=n;i++)for(int j=m;j>=a[i];j--)(f[j]+=f[j-a[i]])%=10;
	for(int i=1;i<=n;i++)
	{
		for(int j=0;j<=m;j++)g[j]=f[j];
		for(int j=0;j<=m-a[i];j++)g[j+a[i]]=(g[j+a[i]]-g[j]+10)%10;
		for(int j=1;j<=m;j++)printf("%d",g[j]);printf("\n");
	}
}
posted @ 2019-03-07 16:11  蒟蒻--lichenxi  阅读(108)  评论(0编辑  收藏  举报