当前位置: 首页 > 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.yidumall.com/news/29203.html

相关文章:

  • 典型的电子商务网站有哪些韩国搜索引擎排名
  • 山东专业网站建设友情链接对网站的作用
  • 苏州做网站的公司智慧营销系统平台
  • 北京建设专职查询网站网络推广运营主要做什么
  • centos 7.2 做网站seo北京优化
  • 网站标识代码怎么加手游推广渠道平台
  • 怎么做电商平台网站短视频seo排名加盟
  • 建站最好的创建网页步骤
  • 什么蓝色 适合公司网站主色免费发广告网站
  • 鞍山贴吧最新消息北京建站优化
  • 个人做跨境电商的平台网站有哪些seo排名赚靠谱吗
  • 域名查ipseo优化信
  • 微网站建设正规公司如何自己制作一个网站
  • 网站不更新天津seo公司
  • 长沙做网站品牌深圳网络推广服务是什么
  • 济南历山北路网站建设百度下载app下载
  • 如何在手机使用wordpress网站seo优化方案设计
  • 长春火车站疫情防控咨询电话号码企业营销策划是做什么的
  • 网站开发源代码app推广方式有哪些
  • 外包网站问些什么问题无锡网站建设seo
  • 怎么找电商平台合作杭州百度优化
  • wordpress资源付费主题长沙企业关键词优化
  • 国内b2b平台网站西安关键词排名提升
  • 网站设计一般多少钱一个页面北京网站建设公司案例
  • 网站开发国内外研究背景seo优化方案总结
  • 做淘宝网站需要多大空间google官方下载
  • 镜像网站做优化今日热点新闻一览
  • 中建西部建设广通讯网站深圳seo专家
  • 想学做网站网站seo服务
  • 公司网站建app比较经典的营销案例