luogu P2979 [USACO10JAN]Cheese Towers S 变形dp背包
Posted qingyuyyyyy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了luogu P2979 [USACO10JAN]Cheese Towers S 变形dp背包相关的知识,希望对你有一定的参考价值。
#include<bits/stdc++.h> const int N=100+10; const int T=5000; using namespace std; int n,t,k,ans; int v[N],h[N],f[T]; int now; //如果不考虑大的,x=t-h[i] //考虑大的之后,0.8*x=t-h[i] //x=(t-h[i])*1.25 int main() { cin>>n>>t>>k; for(int i=1; i<=n; i++) cin>>v[i]>>h[i]; for(int i=1; i<=n; i++) for(int j=h[i]; j<=t*5/4; j++) f[j]=max(f[j],f[j-h[i]]+v[i]); //完全背包 ans=f[t];//ans初始化为f[t] for(int i=1; i<=n; i++) { if(h[i]<k) continue;//不是大奶酪就不做 now=v[i]+f[(t-h[i])*5/4];//用now求当前答案 ans=max(ans,now);//更新 } cout<<ans<<endl; return 0; }
以上是关于luogu P2979 [USACO10JAN]Cheese Towers S 变形dp背包的主要内容,如果未能解决你的问题,请参考以下文章
洛谷 P2979 [USACO10JAN]奶酪塔Cheese Towers
洛谷 P2979 [USACO10JAN]奶酪塔Cheese Towers
P2979 [USACO10JAN]奶酪塔Cheese Towers
P2979 [USACO10JAN]奶酪塔Cheese Towers