洛谷P2925 - ヘイ(販売)S

タイトル説明

販売のSについてはP2925 [USACO08DEC]ヘイ

ソリューション:0-1ナップザック問題

ここで若干の最適化があります:キャリッジが満たされている初期のとき、プログラムは出力を終了してもよいです

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int c, h;
    scanf("%d%d", &c, &h);
    int v[h+1], dp[c+1];
    for(int i=1;i<=h;i++)
    {
        scanf("%d", v+i);
    }
    memset(dp, 0, sizeof(dp));
    for(int i=1;i<=h;i++)
    {
        for(int j=c;j>=v[i];j--)
        {
            dp[j] = max(dp[j], dp[j-v[i]]+v[i]);
            if(dp[c]==c)
            {
                printf("%d", c);
                return 0;
            }
        }
    }
    printf("%d", dp[c]);
    return 0;
}
公開された152元の記事 ウォン称賛22 ビュー30000 +

おすすめ

転載: blog.csdn.net/qq_38204302/article/details/105199541