• 洛谷P1510 精卫填海


     1 //01背包 求背包内物品价值超过某一定值时的最小体积 
     2 #include<bits/stdc++.h>
     3 using namespace std;
     4 const int maxv=10005;
     5 const int maxn=10005;
     6 int n,v_tot,w_tot,v[maxn],w[maxn],f[maxv],sumv,bound;
     7 int main()
     8 {
     9     scanf("%d%d%d",&w_tot,&n,&v_tot);
    10     for(int i=1;i<=n;++i) scanf("%d%d",&w[i],&v[i]);
    11     for(int i=1;i<=n;++i)
    12         for(int j=v_tot;j>=v[i];--j)
    13             f[j]=max(f[j],f[j-v[i]]+w[i]);
    14     if(f[v_tot]<w_tot) {printf("Impossible");return 0;}//若达到背包最大体积价值都不够则无解 
    15     for(int i=1;i<=v_tot;++i)//否则枚举体积 刚超过规定价值的体积即为所求 
    16         if(f[i]>=w_tot) {printf("%d",v_tot-i);return 0;}
    17 }
  • 相关阅读:
    如何搭建SVN的客户端和使用
    SVN服务器的本地搭建和使用
    grep命令
    cat命令
    cut命令
    yum 命令
    XPath、XQuery 以及 XSLT 函数
    XPath 实例
    XPath 运算符
    XPath Axes(轴)
  • 原文地址:https://www.cnblogs.com/yu-xing/p/10313904.html
Copyright © 2020-2023  润新知