笔直的水管 usaco 背包
Posted CHADLZX
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了笔直的水管 usaco 背包相关的知识,希望对你有一定的参考价值。
背包dp入门,需要滚动数组;
1 #include<iostream> 2 #include<cstdio> 3 #include<string> 4 #include<cstring> 5 #include<algorithm> 6 #include<iomanip> 7 #include<cstdlib> 8 using namespace std; 9 const int maxn=101000; 10 const int inf=100000000; 11 int L,n; 12 int w[maxn],v[maxn],c[maxn]; 13 void init(){ 14 scanf("%d%d",&L,&n); 15 for(int i=1;i<=n;i++)scanf("%d%d",&w[i],&v[i]); 16 } 17 void work(){ 18 memset(c,-10,sizeof(c)); 19 c[0]=inf; 20 for(int i=1;i<=n;i++) 21 for(int j=L;j>=0;j--){ 22 if(j<w[i])break; 23 c[j]=max(c[j],min(c[j-w[i]],v[i])); 24 } 25 cout<<c[L]<<endl; 26 } 27 int main(){ 28 init(); 29 work(); 30 }
以上是关于笔直的水管 usaco 背包的主要内容,如果未能解决你的问题,请参考以下文章
[bzoj1775][Usaco2009 Dec]Vidgame 电视游戏问题_背包dp
USACO 3.1Score Inflation(完全背包)
洛谷P2851 [USACO06DEC]最少的硬币The Fewest Coins(完全背包+多重背包)
bzoj 1606 [Usaco2008 Dec]Hay For Sale 购买干草 01背包