01背包补题(一)(中)

简介: 01背包补题(一)

P1164 小A点菜

本题链接P1164 小A点菜

本博客给出本题截图

58.png


#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
const int N = 10010;
int f[N];
int main()
{
    int n, m;
    cin >> n >> m;
    f[0] = 1;
    for (int i = 1; i <= n; i ++ )
    {
        int v;
        cin >> v;
        for (int j = m; j >= v; j -- )
            f[j] += f[j - v];
    }
    cout << f[m] << endl;
    return 0;
}

P1510 精卫填海

本题链接P1510 精卫填海

本博客给出本题截图

59.png

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 10010;
int v[N], w[N];
int f[N];
int main()
{
    int m, n, c;
    cin >> m >> n >> c;
    for (int i = 1; i <= n; i ++ ) cin >> w[i] >> v[i];
    for (int i = 1; i <= n; i ++ )
        for (int j = c; j >= v[i]; j -- )
            f[j] = max(f[j], f[j - v[i]] + w[i]);
    if (f[c] < m) cout << "Impossible" << endl;
    else
        for (int i = 0; i <= c; i ++ )
            if (f[i] >= m)
            {
                cout << c - i << endl;
                break;
            }
    return 0;
}

P2639 [USACO09OCT]Bessie’s Weight Problem G

本题链接P2639 [USACO09OCT]Bessie’s Weight Problem G

本博客给出本题截图

60.png

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 45010;
int f[N];
int main()
{
    int m, n;
    cin >> m >> n;
    for (int i = 1; i <= n; i ++ )
    {
        int v;
        cin >> v;
        for (int j = m; j >= v; j -- )
            f[j] = max(f[j], f[j - v] + v);
    }
    cout << f[m] << endl;
    return 0;
}

P2925 [USACO08DEC]Hay For Sale S

本题链接P2925 [USACO08DEC]Hay For Sale S

本博客给出本题截图

61.png

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 50010;
int f[N];
int main()
{
    int m, n;
    cin >> m >> n;
    for (int i = 1; i <= n; i ++ )
    {
        int v;
        cin >> v;
        for (int j = m; j >= v; j -- )
            f[j] = max(f[j], f[j - v] + v);
    }
    cout << f[m] << endl;
    return 0;
}


目录
相关文章
|
6月前
|
算法 Windows
class073 背包dp-01背包、有依赖的背包【算法】
class073 背包dp-01背包、有依赖的背包【算法】
58 0
|
1月前
|
算法 决策智能
初谈背包问题——01背包
初谈背包问题——01背包
|
5月前
|
存储 JavaScript 算法
【背包问题】01背包问题和完全背包问题的模板
【背包问题】01背包问题和完全背包问题的模板
|
6月前
【模板】完全背包和01背包
【模板】完全背包和01背包
37 1
|
6月前
|
算法
算法系列--动态规划--背包问题(2)--01背包拓展题目(下)
算法系列--动态规划--背包问题(2)--01背包拓展题目(下)
48 0
算法系列--动态规划--背包问题(2)--01背包拓展题目(下)
|
6月前
|
算法
算法系列--动态规划--背包问题(2)--01背包拓展题目(上)
算法系列--动态规划--背包问题(2)--01背包拓展题目
50 0
|
人工智能 算法 决策智能
动态规划之背包问题(01背包问题、完全背包问题、方案数填满型背包问题)
动态规划之背包问题(01背包问题、完全背包问题、方案数填满型背包问题)
252 1
|
测试技术 容器
动态规划之背包问题——背包三讲(01背包,完全背包,多重背包)(三)
动态规划之背包问题——背包三讲(01背包,完全背包,多重背包)(三)
212 0
动态规划之背包问题——背包三讲(01背包,完全背包,多重背包)(三)
|
C++
(排列,选择类dp)(数论同余定理,同余运算)(以背包为母题)1214. 波动数列
(排列,选择类dp)(数论同余定理,同余运算)(以背包为母题)1214. 波动数列
97 0
|
测试技术
动态规划之背包问题——背包三讲(01背包,完全背包,多重背包)(二)
动态规划之背包问题——背包三讲(01背包,完全背包,多重背包)(二)
291 0
动态规划之背包问题——背包三讲(01背包,完全背包,多重背包)(二)