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

网站首页图片做多大视频推广平台

网站首页图片做多大,视频推广平台,网站建设深圳给原码,清丰网站建设价格本节学习解决部分背包问题,部分背包代表物品可以按照一定比例被分割,而后放入背包内.这是十分经典的用贪心算法解决的问题. 问题描述: 给定一些物品,用matrix表示各个物品的属性,第一项表示物品的质量,第二项表示物品的总价值.现有一背包最大承重为M,试求如何让背包中所装物品…

本节学习解决部分背包问题,部分背包代表物品可以按照一定比例被分割,而后放入背包内.这是十分经典的用贪心算法解决的问题.

问题描述:

给定一些物品,用matrix表示各个物品的属性,第一项表示物品的质量,第二项表示物品的总价值.现有一背包最大承重为M,试求如何让背包中所装物品价值最高

思路解析:

既然背包中的物品可以被分割,而背包容量有限,要想让背包中所装物品价值最大,是要尽可能先装入单位价值大的物品,变量定义如下:

matrix变量:表示给定的各个物品的重量和价值

max变量:表示给定的背包所能承受的最大重量

re变量:表示背包物品的价值之和

re_list变量:表示各个物品放入的百分比,若将某一物品全部放入,则为1

完整代码如下:

def bag(matrix, max):# 初始化总价值为0re = 0# 创建一个列表,用于记录每个物品是否被选中,初始化为0re_list = [0 for _ in range(len(matrix))]# 根据物品的价值重量比对matrix进行降序排序matrix.sort(key=lambda x: x[1] / float(x[0]), reverse=True)for i in range(len(matrix)):# 如果当前物品的重量小于等于背包剩余容量if matrix[i][0] < max:# 将该物品的价值加到总价值中re += matrix[i][1]# 减少背包的剩余容量max -= matrix[i][0]# 标记该物品为已选中re_list[i] = 1else:# 如果物品重量大于背包剩余容量,只能选取部分物品# 计算能够选取的最大价值,并加到总价值中re += max * matrix[i][1] / float(matrix[i][0])# 标记选取了部分物品re_list[i] = max / float(matrix[i][0])break# 返回排序后的matrix,每个物品的选取状态列表re_list,以及总价值rereturn matrix, re_list, re

http://www.mnyf.cn/news/36063.html

相关文章:

  • 网站框架建设企业查询免费
  • 中投中原建设有限公司官方网站百度网盟推广官方网站
  • 奉贤网站建设专家网络优化论文
  • 如何做网站认证免费域名注册查询
  • 什么网站可以做字体效果好深圳百度seo代理
  • 企业网站的建立不能缺少哪些细节小红书广告投放平台
  • 政府网站建设园林绿化推广引流平台
  • 益阳做网站h5下一页
  • 网站做网络营销的效果seo查询
  • 网站建立健全举报工作机制html友情链接代码
  • 网站推广运营公司打开百度官网
  • 企业园林设计网站模板电商运营培训正规平台
  • 网站上360 旋转的图是怎么做的浙江新手网络推广
  • 优秀的移动网站seo全网营销公司
  • wordpress调用网站标题江苏网站建设制作
  • 网站建设 会议纪要最新新闻头条
  • 高端企业网站建设的核心是什么营销推广是什么意思
  • 云南省建设厅专家注册网站软文写作的技巧
  • 中山微信网站南昌seo实用技巧
  • 肥西县市建设局网站优化方案的格式及范文
  • wordpress主题限速广州网站营销优化qq
  • logo设计说明自然搜索优化
  • 2017如何免费制作网站超级优化大师下载
  • 多终端网站苏州网站制作
  • 哈尔滨松北区建设局网站做百度seo
  • 甘肃省酒泉市做网站公司网络培训研修总结
  • 网站建设英文游戏推广在哪里接活
  • wordpress 回车换行seo优化推广工程师
  • 织梦做的网站页面打不开前端seo搜索引擎优化
  • 做网站建设的公司有哪些企业网络推广的方法有哪些