当前位置: 首页 > news >正文

做企业官网需要多少钱网络关键词优化软件

做企业官网需要多少钱,网络关键词优化软件,什么网站有做面条的app,深圳网站建设hi0755题目描述 假期小奇去采矿场体验生活,工头为每个员工发放了一个最多能装 M 公斤的背包,经过一天的辛苦小奇开采出了 n 块矿石,它们的重量分别是W1,W2,...,Wn,经过预估它们的价值分别为C1,C2,...,Cn,那么请你…
题目描述

假期小奇去采矿场体验生活,工头为每个员工发放了一个最多能装 M 公斤的背包,经过一天的辛苦小奇开采出了 n 块矿石,它们的重量分别是W1,W2,...,Wn,经过预估它们的价值分别为C1,C2,...,Cn,那么请你帮助小奇计算他能获得最大总价值是多少。

输入

第一行:两个整数,M(背包容量,M≤200)和N(矿石数量,N≤30);
第2..N+1行:每行二个整数Wi,Ci,表示每块矿石的重量和价值。

 

输出

仅一行,一个数,表示最大总价值

样例输入1
10 4
2 1
3 3
4 5
7 9
样例输出1
12
提示/说明
标签
普及 其他 背包
#include<iostream>
using namespace std;
#define MAXX 31
int c[MAXX],v[MAXX],f[MAXX][201];
int main(){int m,n;cin>>m>>n;for(int i=1;i<=n;i++){cin>>c[i]>>v[i];}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(j<c[i]) {f[i][j]=f[i-1][j];}else {f[i][j]=f[i-1][j]>f[i-1][j-c[i]]+v[i]?f[i-1][j]:f[i-1][j-c[i]]+v[i];}}}cout<<f[n][m];return 0;
}

对于1318的这种情况:
for(int i=1;i<=n;i++){
    for(int j=1;j<=m;j++){
        if(j<c[i]) {
            f[i][j]=f[i-1][j];
        }else {
            f[i][j]=f[i-1][j]>f[i-1][j-c[i]]+v[i]?f[i-1][j]:f[i-1][j-c[i]]+v[i];
        }
    }
}
无:
}else {
            f[i][j]=f[i-1][j]>f[i-1][j-c[i]]+v[i]?f[i-1][j]:f[i-1][j-c[i]]+v[i];
        }
会偏小
为什么?
举个例子:
n=4,m=6
物品:3 2
物品:4 5
物品:5 3
物品:1 4
状态转移方程表 ‼
0    0    2                    2    2    2
0    0    0❌(2)    5    5    5
所以要加上
}else {
            f[i][j]=f[i-1][j]>f[i-1][j-c[i]]+v[i]?f[i-1][j]:f[i-1][j-c[i]]+v[i];
        }
逆序:
0    0    2    2    2    2
0    0    2    5    5    5
(从右向左推)
顺序:
0    0    2    2    2    2
0    0    2    5    5    5
(从左向右推)
顺序逆序对二维矩阵不影响

滚动数组(变量)
第一行:a数组存储(原)
第二行:b数组存储(原)
第三行:a数组存储(用a数组推出了原b数组,原a数组无用)(新)
第四行:b数组存储(用b数组推出了新a数组,原b数组无用)(新)
第N 行只依赖于第N-1 行,不依赖于其他行
继续压缩,将f数组定义为一维

#include<iostream>
#include<cstring>
using namespace std;
#define MAXX 31
int c[MAXX],v[MAXX],f[MAXX];
int main(){memset(f,0,sizeof(f));int m,n;cin>>m>>n;for(int i=1;i<=n;i++){cin>>c[i]>>v[i];}for(int i=1;i<=n;i++){for(int j=m;j>=c[i];j--){f[j]=f[j]>f[j-c[i]]+v[i]?f[j]:f[j-c[i]]+v[i];}}cout<<f[m];return 0;
}


这种方法j的遍历
必须逆序‼必须逆序‼
必须逆序‼必须逆序‼
必须逆序‼必须逆序‼
一个物品可以取N个
只要能装下就可以
如果把遍历变成顺序(当然,这在这道题里不行)
就成了完全背包的一维模板
0-1背包 问题中的物品不能无限次的重复取,
也就是只有一个
完全背包 问题中的物品有多个
空间复杂度:
O(NM)-------->O(2M)------>O(M)
0-1背包---->滚动数组--->亚完全背包
 

http://www.hkea.cn/news/682657/

相关文章:

  • 做恶搞网站软件有哪些苏州seo怎么做
  • 怎么做微信小说网站企业网络营销策划方案
  • 网站后台上传图片失败百度下载免费安装最新版
  • 镇江做网站需要多少钱企业网站模板设计
  • 西安seo优化系统网页seo
  • 如何用网站模板做网站广州网络营销推广
  • 承德手机网站建设seo推广排名
  • wordpress块引用一个网站可以优化多少关键词
  • 360网站卖东西怎么做的无锡seo优化公司
  • 邢台人民网站百度视频推广怎么收费
  • 常州天启建设公司网站高端快速建站
  • ppt模板免费下载网站不用登录seo测试工具
  • 四川建设人才网官网查询阜新网站seo
  • 太原网站开发定制百度网盘官网下载
  • 业主装修日记那个网站做的好片多多可以免费看电视剧吗
  • 租车网站建设站长之家源码
  • 昌吉州回族自治州建设局网站地产渠道12种拓客方式
  • 北京市网站公司网络项目免费的资源网
  • 电子商务网站规划、电子商务网站建设站长工具 忘忧草
  • 凡科建网关键词优化公司哪家好
  • seo排名推广工具seo公司多少钱
  • 做视频网站赚钱怎么在百度上推广自己的公司信息
  • 网站建设凡科厦门网站建设平台
  • 互联网行业pest分析福州百度快速优化排名
  • 做网站的接私活犯法吗如何对网站进行推广
  • 身高差效果图网站优化师和运营区别
  • 谷歌wordpress建站搜索引擎算法
  • .net 购物网站开发源代码发布信息的免费平台
  • 自己做一网站大学生网络营销策划书
  • 关于网站建设的文章百度域名收录提交入口