bzoj1606 / P2925 [USACO08DEC]干草出售Hay For Sale(01背包)

P2925 [USACO08DEC]干草出售Hay For Sale

简化版01背包(连价值都免了)

直接逆推解决

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<cctype>
#define re register
using namespace std;
void read(int &x){
char c=getchar();x=;
while(!isdigit(c)) c=getchar();
while(isdigit(c)) x=(x<<)+(x<<)+(c^),c=getchar();
}
int n,m,f[],a;
int main(){
read(n);read(m); f[]=;
for(re int i=,j;i<=m;++i){
read(a);
for(j=n;j>=a;--j) f[j]|=f[j-a];//在这里相当于f[j]=f[j-a]?1:0;
}
for(re int i=n;i>=;--i)//找一遍最大的
if(f[i]){printf("%d",i);return ;}
}
上一篇:2015多校联合训练赛 hdu 5308 I Wanna Become A 24-Point Master 2015 Multi-University Training Contest 2 构造题


下一篇:hdu 5288||2015多校联合第一场1001题