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;
    }
     
  • 相关阅读:
    Maven错误recv failed
    eclipse集成tomcat修改字符集参数
    eclipse luna 无法安装veloeclipse问题
    TortoiseSVN忽略文件夹
    类之特性
    __new()__与__init__()
    flask中models设计
    flask读书记录
    JS中的event 对象详解
    redis 持久化 RDB
  • 原文地址:https://www.cnblogs.com/2014acm/p/3918700.html
Copyright © 2011-2022 走看看