日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

jzoj4224-食物【多重背包】

發(fā)布時(shí)間:2023/12/3 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jzoj4224-食物【多重背包】 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

正題


題目大意

nnn個(gè)物品,用空間換價(jià)值。mmm個(gè)方式,用價(jià)錢換空間。

要求價(jià)值超過(guò)p的情況下價(jià)錢最低。


解題思路

先算出超過(guò)ppp至少要多少空間。然后在算出這個(gè)空間至少需要多少價(jià)錢。


codecodecode

#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N=1200,M=51010; int w1[N],v1[N],x[N],y[N],z[N],f2[N][M],f1[M]; int cnt1,cnt2,n,m,p,test,ans,mic; int main() {//freopen("data.in","r",stdin);//freopen("data.out","w",stdout);scanf("%d",&test);while(test--){memset(f1,0x3f,sizeof(f1));memset(f2,0,sizeof(f2));cnt1=0;cnt2=0;scanf("%d%d%d",&n,&m,&p);for(int i=1;i<=n;i++){int t,u,v;scanf("%d%d%d",&t,&u,&v);for(int i=1;i<=v;i*=2){v-=i;w1[++cnt1]=u*i;v1[cnt1]=t*i;}if(v) w1[++cnt1]=u*v,v1[cnt1]=t*v;}f1[0]=0;ans=2147483647;for(int i=1;i<=cnt1;i++)for(int j=p+100;j>=v1[i];j--){f1[j]=min(f1[j],f1[j-v1[i]]+w1[i]);if(j>=p) ans=min(ans,f1[j]);}if(ans==2147483647){printf("TAT\n");continue;}for(int i=1;i<=m;i++)scanf("%d%d%d",&x[i],&y[i],&z[i]);mic=2147483647;for(int i=1;i<=m;i++)for(int j=0;j<=z[i];j++)for(int k=1;k<=M-10;k++)if(j*y[i]<=k){f2[i][k]=max(f2[i-1][k-j*y[i]]+j*x[i],f2[i][k]);if(f2[i][k]>=ans){mic=min(mic,k);break;}}if(mic==2147483647){printf("TAT\n");continue;}printf("%d\n",mic);} }

總結(jié)

以上是生活随笔為你收集整理的jzoj4224-食物【多重背包】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。