zoukankan      html  css  js  c++  java
  • 【51NOD-0】1085 背包问题

    【算法】背包DP

    【题解】f[j]=(f[j-w[i]]+v[i]) 记得倒序(一个物品只能取一次)

    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    using namespace std;
    const int maxn=10010;
    int n,W,w[maxn],v[maxn],f[maxn];
    int main()
    {
        scanf("%d%d",&n,&W);
        for(int i=1;i<=n;i++)scanf("%d%d",&w[i],&v[i]);
        for(int i=1;i<=n;i++)
        {
            for(int j=W;j>=w[i];j--)
            {
                f[j]=max(f[j],f[j-w[i]]+v[i]);
            }
        }
        printf("%d",f[W]);
        return 0;
    }
    View Code
  • 相关阅读:
    BOM-DOM
    JavaScript
    CSS(2)
    CSS(1)
    HTML5
    索引
    数据库多表查询
    数据操作
    数据库表操作
    初识Java
  • 原文地址:https://www.cnblogs.com/onioncyc/p/6930295.html
Copyright © 2011-2022 走看看