2018.02.06(背包专卖店)

Posted yzyl-leo-wey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018.02.06(背包专卖店)相关的知识,希望对你有一定的参考价值。

2018.02.06

背包专卖店系列

    今天我们学习了背包问题,浏览了一个规模宏大的背包专卖店。。。领略了许许多多的背包。

01背包

完全背包

多重背包

混合背包

部分背包

二维费用背包

分组背包

有依赖背包

1. 01背包

思路:。。。

核心代码:

技术分享图片
 1 #include <stdio.h>
 2 #include <math.h>
 3 #include <string.h>
 4 int w[101],c[101];
 5 int f[101][1001];
 6 int _Max(int x,int y){return x>y?x:y;}
 7 int main(){
 8     int n,m;
 9     int i,j,v;
10     scanf("%d%d",&m,&n);
11     for(i=1;i<=n;i++)
12         scanf("%d%d",&w[i],&c[i]);
13     for(i=1;i<=n;i++)
14         for(v=m;v>0;v--)
15             if(w[i]<=v) f[i][v]=_Max(f[i-1][v],f[i-1][v-w[i]]+c[i]);
16             else f[i][v]=f[i-1][v];
17     printf("%d\n",f[n][m]);
18     return 0;
19 }
View Code

状态:AC

2.完全背包

思路:。。。

核心代码:

技术分享图片
 1 #include <stdio.h>
 2 #include <math.h>
 3 #include <string.h>
 4 int m,n;
 5 int w[31],c[31];
 6 int f[31][201];
 7 int main(){
 8     int i,j,v;
 9     scanf("%d%d",&m,&n);
10     for(i=1;i<=n;i++)
11         scanf("%d%d",&w[i],&c[i]);
12     for(i=1;i<=n;i++){
13         for(v=1;v<=m;v++){
14             if(v<w[i])
15                 f[i][v]=f[i-1][v];
16             else if(f[i-1][v]>f[i][v-w[i]]+c[i])
17                 f[i][v]=f[i-1][v];
18             else f[i][v]=f[i][v-w[i]]+c[i];
19         }
20     }
21     printf("%d",f[n][m]);
22     return 0;
23 } 
View Code

状态:AC

3.多重背包

思路:。。。

核心代码:

技术分享图片
 1 #include <stdio.h>
 2 #include <math.h>
 3 #include <string.h>
 4 int v[6002],w[6002],s[6002];
 5 int f[6002];
 6 int m,n;
 7 int _Max(int x,int y){return x>y?x:y;}
 8 int main(){
 9     int i,j;
10     scanf("%d%d",&n,&m);
11     for(i=1;i<=n;i++)
12         scanf("%d%d%d",&v[i],&w[i],&s[i]);
13     for(i=1;i<=n;i++){
14         for(j=m;j>=0;j--)
15             for(int k=0;k<=s[i];k++){
16                 if(j-k*v[i]<0)break;
17                 f[j]=_Max(f[j],f[j-k*v[i]]+k*w[i]);
18             }
19     }
20     printf("%d",f[m]);
21     return 0;
22 } 
View Code

状态:AC

以上是关于2018.02.06(背包专卖店)的主要内容,如果未能解决你的问题,请参考以下文章

防止导航到同一个片段

ES6-01 2018-02-06

使用喷气背包导航将自定义过渡动画添加到底部导航设置

python大数据可视化分析淘宝商品,开专卖店不行啊

python大数据可视化分析淘宝商品,开专卖店不行啊

python大数据可视化分析淘宝商品,开专卖店不行啊