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

常见网站类型wordpress中文用户名

常见网站类型,wordpress中文用户名,wordpress 发件邮箱,营销型网站建设需要备案吗本节学习解决部分背包问题,部分背包代表物品可以按照一定比例被分割,而后放入背包内.这是十分经典的用贪心算法解决的问题. 问题描述: 给定一些物品,用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.yayakq.cn/news/345766/

相关文章:

  • wordpress的后台管理导航菜单seo技术306
  • 网站没有建设好可以备案吗有哪几个网站可以做贸易
  • 我想创个网站网站建设总结报告书
  • 网站开发毕业设计代做建行系统
  • 网上的网站模板怎么下载像乐视做硬件的视频网站
  • 做网站可以临摹吗wordpress100万数据
  • 网站运营岗位介绍网站建设和网站优化哪个重要
  • 网站建设 sheji021wordpress提示插件安装插件
  • 禅城网站建设费用小程序制作的公司
  • 做十个网站wordpress 加入代码
  • 东营有哪些制作网站网站页面改版
  • 俄文网站建设方案山西又增一例在忻州
  • 苏州找工作网站有哪些网站做的图上传后字变得很模糊
  • 能发外链的网站24小时最新军事新闻
  • 网站合作建设合同广州网站排名怎么优化
  • 上海做网站建设wordpress 图片加速
  • 国产做网站免费建材网站模板
  • xp系统做网站服务器宜和购物电视购物官方网站
  • wordpress 移动支付seo自动优化软件下载
  • 不会写程序如何建网站汉化主题 wordpress
  • 陕西省建设厅的网站免费学建筑知识网站
  • 成都公司网站设计湖南人文科技学院
  • 网站总体设计站长统计官方网站
  • 姚家园做网站宁夏网站建设报价
  • 深圳网站建设的服务网站外链什么时候做
  • 服装网站建设环境分析海南的网站建设公司
  • 广州建设银行投诉网站建设银行etc网站
  • 网站建设高清图电子线路板东莞网站建设
  • 坪山网站建设价位免费网站域名注册
  • 株洲seo网站优化网站什么时候做SEO优化最合适