4457: 游戏任务

xiaoxiao2021-02-28  89

跟bzoj2427差不多,但没有环,也是dp经典的类似采药dp搞一搞。

code:

#include<cstdio> #include<cstring> int n,m; int F[110][510],t[110],c[110]; int f[510]; int max(int x,int y){return x>y?x:y;} int main() { scanf("%d %d",&n,&m); for(int i=1;i<=n;i++) { int tmp,t2,c2; scanf("%d %d %d",&tmp,&t[i],&c[i]); for(int j=1;j<=tmp;j++) { scanf("%d %d",&t2,&c2); for(int k=m;k>=t2;k--) F[i][k]=max(F[i][k],F[i][k-t2]+c2); } } for(int i=1;i<=n;i++) for(int j=m;j>=t[i];j--) for(int k=j-t[i];k>=0;k--) if(j-t[i]-k>=0)f[j]=max(f[j],f[j-t[i]-k]+c[i]+F[i][k]); printf("%d",f[m]); }

转载请注明原文地址: https://www.6miu.com/read-52882.html

最新回复(0)