POJ3624 01背包

来源:互联网 发布:hessian矩阵 编辑:程序博客网 时间:2024/06/05 06:23

这题太裸
就是从后向前一个一个填,一种一种的填
拿出来他的重量,加进去他的价值

#include<iostream>#include<cmath>#include<queue>#include<algorithm>#include<cstdlib>using namespace std;int dp[12881];int zhi[3403];int zhong[3403];int main(){    int n, m;    cin >> n >> m;    for (int a = 1;a <= n;a++)cin >> zhong[a] >> zhi[a];    int sum = 0;    for (int a = 1;a <= n;a++)    {        for (int b = m;b >= 0;b--)        {            if (b - zhong[a] >= 0)            {                dp[b] = max(dp[b], dp[b - zhong[a]] + zhi[a]);                sum = max(sum, dp[b]);            }        }    }    cout << sum << endl;    return 0;}
0 0