POJ3624 Charm Bracelet 01背包 一维数组表示

来源:互联网 发布:欧文16年总决赛数据 编辑:程序博客网 时间:2024/06/11 04:01

简单得01背包问题,题目得数据量大,二维数组表示爆内存

#include<iostream>#define Max(a,b) ((a)>(b)?(a):(b))using namespace std;const int V=12881;const int N=3403;int w[N]={0},c[N]={0};int f[V];void pack(int n,int m){for(int i=1;i<=n;i++)for(int j=m;j>=w[i];j--){f[j] = Max(f[j],f[j-w[i]]+c[i]);}cout<<f[m]<<endl;}int main(){int n,m;cin>>n>>m;for(int i=1;i<=n;i++)cin>>w[i]>>c[i];pack(n,m);}



0 0
原创粉丝点击