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

新乡网站建设waterseowordpress 模板之家

新乡网站建设waterseo,wordpress 模板之家,贵州省住房和城乡建设部网站首页,全网营销与seo解题思路: 本题属于01背包问题,使用动态规划 dp[ j ]表示容量为 j 的背包的最大价值 注意: 需要时刻提醒自己dp[ j ]代表的含义,不然容易晕头转向 注意越界问题,且 j 需要倒序遍历 如果正序遍历 dp[1] dp[1 - vo…

解题思路:

本题属于01背包问题,使用动态规划

dp[ j ]表示容量为 j 的背包的最大价值

注意:

        需要时刻提醒自己dp[ j ]代表的含义,不然容易晕头转向

        注意越界问题,且 j 需要倒序遍历

如果正序遍历

dp[1] = dp[1 - volume[0]] + value[0] = 15

dp[2] = dp[2 - volume[0]] + value[0] = 30

此时dp[2]就已经是30了,意味着物品0,被放入了两次,所以不能正序遍历。

为什么倒叙遍历,就可以保证物品只放入一次呢?

倒叙就是先算dp[2]

dp[2] = dp[2 - volume[0]] + value[0] = 15 (dp数组已经都初始化为0)

dp[1] = dp[1 - volume[0]] + value[0] = 15

所以从后往前循环,每次取得状态不会和之前取得状态重合,这样每种物品就只取一次了。

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int N = scan.nextInt();int V = scan.nextInt();int[] volume = new int[N];int[] value = new int[N];for (int i = 0; i < N; i++) {volume[i] = scan.nextInt();value[i] = scan.nextInt();}int[] dp = new int[V + 1];for (int i = 0; i < N; i++) {//注意越界问题,且 j 需要从大到小遍历for (int j = V; j >= volume[i]; j--) {dp[j] = Math.max(dp[j], dp[j - volume[i]] + value[i]);}}System.out.println(dp[V]);}
}

http://www.yayakq.cn/news/875353/

相关文章:

  • 抚顺网站开发招聘营销型企业网站建站
  • 河源网站建设公司上海外贸仓储公司
  • 临沂营销型网站建设莱芜拉呱
  • 建设俄语网站网站关键词设定
  • 无锡市建设局网站联系电话黄冈贴吧黄冈论坛吧
  • 佛山购物网站建设网络营销做得比较成功的企业
  • 云南省建设厅网站自学网页设计有前途吗
  • 网站的技术支持汕头在线制作网站
  • 网站建设公司创业微信小程序开发实战源代码
  • ppt做的模板下载网站有哪些淘宝的网站建设方案
  • 聊城手机网站建设公司怎么样注册企业邮箱
  • 沈阳做网站的设计公司哪家好中国工厂网站官方网站
  • 如何做好公司网站网站建设优化的作用
  • 020网站设计让你的静态网站 做后台
  • 网站建设哪里有学绵阳住房和城乡建设厅官方网站
  • 专业做网站 郑州阿里云网站备案入口
  • 网站建设的基本要素wordpress第一篇文章
  • 昌平手机网站建设wordpress文章摘录
  • wordpress怎么改主页背景国内正规seo网络推广
  • 苏州做网站公司速找苏州聚尚网络南昌租房网
  • 房产网站关键词优化网页的源代码的开始和结束标签必须是
  • 泉州那家做网站公司好沈阳网页设计公司排名
  • 网站建设实训结论与分析总结九天利建公司简介
  • 微信官方网站下载东方建设集团有限公司网站
  • 平湖市网站建设上海市安全生产建设协会网站
  • 网站开发技术的选择wordpress网站做h5分类
  • 青岛网站建设团队wordpress 首页调用文章
  • 湘潭网站建设 地址磐石网络软件开发和研发的区别
  • 代理app推广泽成seo网站排名
  • 零售网站建设导购网站怎么建立