zoukankan      html  css  js  c++  java
  • tyvj 1005 采药 0-1背包 优化的一位数组 dp 代码1

    #include <iostream>
    #include <string.h>
    using namespace std;
    int dp[1005], w[105],v[105],T,M;
    int max(int x,int y)
    {    return x>y?x:y;   }
    void  f( )
    {   int i,j;
        for (i=1; i<=M; i++)
            for (j=T;j>=0; j--)                   //由大到小                            
               if (j>=w[i])   dp[j]=max(dp[j], dp[j-w[i]]+v[i]);                             //计算大的   ,,,保留的是 大的序号  大的下标,,,,从大的开始,,  ,,,但但,,需要小的
    }                                                                           //   j    < w[i]     不用写 ,,,,, memset(dp,0,sizeof(dp)); 早已标记为 0           不考虑
    int main()
    {   int i;    
        cin>>T>>M;
        for ( i=1; i<=M; i++)  cin>>w[i]>>v[i];
        memset(dp,0,sizeof(dp));
        f( );    
        cout<<dp[T]<<endl;
    }
     
  • 相关阅读:
    C++ com 组件的使用
    年计算机硬件基础知识大全
    prism 的学习网站
    WPF
    C#录音从声卡
    C#实现放大镜
    HTML常用提交按钮
    HTML常用标签
    k8s 运行单实例 mysql
    aws eks ebs StorageClass PersistentVolume PersistentVolumeClaim
  • 原文地址:https://www.cnblogs.com/2014acm/p/3918700.html
Copyright © 2011-2022 走看看