洛谷 P2871 [USACO07DEC]手鍊 Charm Bracelet

簡單的01揹包
可以去記住模板

特別注意:
- i 和 j 是怎麼循環的
- j 要保證大於等於 那什麼 怎樣纔可以相減

//P2871 [USACO07DEC]手鍊 Charm Bracelet 
//2016.11.15

#include <cstdio>
#include <iostream>
#define MAXN 50000 + 1
using namespace std;

int n, m, c, v;
int f[MAXN] = {0};

int main(){
    scanf("%d%d", &n, &m);

    for (int i = 1; i <= n; i++)
    {
//      for (int i = 1; i <= m; i++)
//      cout << f[i] << ' ';
//      cout << endl; 

        scanf("%d%d", &c, &v);
        for (int j = m; j >= c; j--)
            f[j] = max(f[j], f[j - c] + v);
    }

//  for (int i = 1; i <= m; i++)
//      cout << f[i] << ' ';

    cout << f[m];

    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章