背包入门

来源:互联网 发布:龙虎榜数据哪里查 编辑:程序博客网 时间:2024/04/30 05:33

01背包

(最大)

初始化:memset(dp,0,sizeof(dp));

                 for(i=1;i<=n;i++)

                         for(j=W;j>=w[i];j--)//从大到小,否则会重复

                                  dp[j]=max(dp[j],dp[j-w[i]]+v[i]);

完全背包

(最大)

                 初始化:memset(dp,0,sizeof(dp));

                 for(i=1;i<=n;i++)

                         for(j=w[i];j<=W;j++)

                                  dp[j]=max(dp[j],dp[j-w[i]]+v[i]);

(最小)

        初始化:memset(dp,0x3f3f3f,sizeof(dp))

                 for(i=1;i<=n;i++)

                         for(j=w[i];j<=W;j++)

                                  if(dp[j-w[i]]<0x3f3f3f)dp=min(dp[j],dp[j-w[i]]+v[i]);

if(dp[W]<0x3f3f3f)装满

 

0 0
原创粉丝点击