思路:
讲道理我应该写单调队列优化多重背包的
但是我不会啊
但是我现在! 还不会啊
我就写了个二进制优化的..
过了
//By SiriusRen#include#include #include using namespace std;int n,cpy[222],b[3333],c[3333],f[20001],jy,xx,top,k;int main(){ scanf("%d",&n); for(int i=1;i<=n;i++)scanf("%d",&cpy[i]); for(int i=1;i<=n;i++){ scanf("%d",&xx),jy=0; while(xx){ if(xx>=(1< < < =b[i];j--) f[j]=min(f[j],f[j-b[i]]+c[i]); printf("%d\n",f[k]);}