- 浏览: 293597 次
- 性别:
文章分类
- 全部博客 (105)
- windows (6)
- spring (5)
- hibernate (6)
- log4j (3)
- html (8)
- Servlet (2)
- mysql (4)
- java (18)
- tomcat (5)
- 数据库 (4)
- eclipse (5)
- css (2)
- word (1)
- javascript (8)
- 手机 (5)
- 日志 (1)
- linux (9)
- ssh (1)
- 线程 (1)
- dom (2)
- 算法 (1)
- android (4)
- xp (1)
- http (4)
- web (3)
- 生活 (6)
- oracle (9)
- shell (4)
- plsql (2)
- ubuntu (9)
- 网络配置 (1)
- 编辑器 (2)
- C (1)
- C++ (2)
- cygwin (1)
- CDT (2)
- ios (1)
- g++ (1)
- gcc (2)
- 魔方 (1)
- chrome (2)
- 购物 (1)
- 游戏 (1)
- 模拟器 (1)
- weblogic (3)
- OSGi (1)
- transaction (2)
- fusioncharts (1)
- jta (1)
- 加密 (1)
- RSA (1)
- jBPM (2)
- jboss (1)
- wildfly (1)
- 电子书 (1)
- example code (1)
- redis (1)
- jemalloc (1)
- libc (1)
- sokect (1)
- nio (1)
- office (1)
- elastic-job (1)
- zookeeper (1)
- quartz (1)
- webservice (3)
- axis (1)
- CentOS7 (1)
- VM (1)
- hbase (3)
- maven (1)
- 硬件 (1)
- 单片机 (1)
- 电路图 (1)
- axis2 (1)
- jaxws (2)
- vpn (1)
- pptp (1)
- CKFinder (1)
- utf-8 (1)
- jdk (2)
- tail (1)
- cmd (2)
- srvany (1)
- rktool (1)
- python (1)
- tensorflow (1)
- 字符编码 (2)
- wget (1)
- ftp (1)
- jsp (0)
- nginx (1)
- openlayer (1)
- GEO (1)
- geojson (1)
- wgs84经纬度坐标系 (1)
- wgs84 墨卡托投影坐标系 (1)
- 连接池 (1)
- jdbc (1)
- druid (1)
- 文档 (0)
- iso week (1)
- date (1)
- golang (0)
- vscode (0)
- fiber (0)
最新评论
-
cybersnow:
恩不错,谢谢
The 'manifest_version' key must be present and set to 2 (without quotes). -
LinApex:
这样效率很低哦
在js、css中嵌入java/jsp代码 -
bnmnba:
369485270 写道楼主在吗 你这个注解方式根本就不行 ...
hibernate 获取实体的表名、主键名、列名 -
黄浦江:
Mysql 5.6.5 noInstall 版本下没有my.i ...
Can't connect to MySQL server on 'localhost' (10061) -
369485270:
楼主在吗 你这个注解方式根本就不行 报错啊 org.hibe ...
hibernate 获取实体的表名、主键名、列名
动态规划:http://zh.wikipedia.org/zh-cn/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92#.E8.83.8C.E5.8C.85.E9.97.AE.E9.A2.98
直接看解法吧,貌似还是有问题。
package package01; public class TestPackage01 { static OBJ[] objs={new OBJ(3,4),new OBJ(8,17),new OBJ(5,9),new OBJ(6,8),new OBJ(10,16)};//物品 static int II=20;static int VV=20;static int[][] IVmap=new int[II][VV];//第I个物品放入体积为V的背包时的最大价值 static int num=0;//计算的次数 public static void main(String[] args) { for(int i=0;i<II;i++){//初始化为-1 for(int j=0;j<VV;j++){ IVmap[i][j]=-1; } } System.out.println(maxValue(4,11));//对objs中的这些背包来说,第五次放入物品的最大价值,就是最优解 System.out.println(num); for(int i=0;i<II;i++){ for(int j=0;j<VV;j++){ System.out.print(" "+IVmap[i][j]); } System.out.println(); } } /** * 放第i件物品到体积为v的包里的最大价值 * @param i 从物品里取出一个物品放入包中,这个是第i次取出的物品。大于等于0 * 如果i是0,也就是第一次取物品时,取一个物品,放到体积为v的包里,最大价值是多少。 * @param v 一个体积为v的包,大于等于0 * @return 最大价值,应该是个大于等于0的数 */ public static int maxValue(int i,int v){ if (IVmap[i][v]>-1) {//看是否已经计算过//初始化为-1 return IVmap[i][v]; } num++; int val=0; if (i<1) {//第一次取物品时 for (int j = 0; j < objs.length; j++) { if (objs[j].v<v) { val=max(val,objs[j].p); } } }else { for(int j=0;j < objs.length; j++) {//遍历所有的物品,找到i int VI=objs[j].v;//VI为第i个物品的体积 int PI=objs[j].p;//PI为第i个物品的价值 if (v<VI) {//当前物品无法放入背包 val=maxValue(i-1,v); }else if(v>=VI){ val= max(maxValue(i-1,v),maxValue(i-1,v-VI)+PI);//当前物品可以放入背包,也可以不放入 } if(i==-1||v==0)val=0;//这是什么情况下会出现? } } IVmap[i][v]=val;//记录计算的结果 return val; } private static int max(int val, int p) { return p>val?p:val; } } class OBJ{ public int v; public int p; public OBJ(int v,int p){ this.v=v; this.p=p; } }
运行结果:
17 31 0 0 0 0 -1 4 9 -1 9 -1 -1 17 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 -1 4 9 -1 9 -1 -1 17 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 -1 4 9 -1 9 -1 -1 17 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 0 -1 4 9 -1 9 -1 -1 17 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 17 -1 -1 -1 -1 -1 -1 -1 -1
发表评论
-
Linux Centos 7.2 JDK 1.7.0 Tomcat8.5 部署的web应用(连接池druid),长时间不用后,再次访问很慢卡住
2019-11-07 15:17 1015JDK 1.7.0 + Tomcat 8.5 部署的web ... -
Windows服务器终结者
2018-05-18 14:57 516windows服务器终结者。 作用:远程访问服务器 ... -
linux wget命令下发FTP时,包含中文路径提示文件不存在,无法下载文件解决方法
2017-12-01 16:09 3359文件不存在的原因是因为编码不同,服务器认为请求地址的 ... -
linux乱码,文件名乱码、文件内容乱码,JDK编码。 CKFinder文件名称乱码 (使用UTF-8解决)
2017-07-15 14:46 1754我遇到一个问题,CKFinder后台获取到的文件名是问号。 ... -
带图片上传文件上传的CKEditor(java实现后台文件存储)
2016-07-14 16:04 1141解压后放到web项目webapp文件夹里,空文件夹up ... -
java 非阻塞sokect客户端
2016-05-16 17:30 997网上有比较多的服务端非阻塞的nio示例代码。 但客户端基 ... -
非对称加密、公钥和私钥简要说明,Java实现RSA加密/解密/签章/验章
2016-03-05 21:29 1701提示: 1、公钥加密只能用私钥解密。 2、私钥加密只能 ... -
二维数组绕圈赋值
2013-08-22 16:54 901小例子一个: package pack; publ ... -
eclipse java debug 修改变量
2013-08-13 11:05 11221.加入断点。 2.开始调试。 3.打开透视图Windo ... -
Session
2013-06-22 11:29 932一篇session讲解的文章: http://www.c ... -
Java动态代理模式
2013-03-13 18:17 1391动态代理可以模拟实现一个接口指向一个未实现这个接口的 ... -
线程、线程池、threadlocal
2012-08-16 15:26 1747一个线程池里放两个线程、四个任务(runnable)。两个线程 ... -
mysql 数据类型 JAVA 类型 对照
2012-02-24 11:53 1172mysql 数据类型 JAVA 类型 对照 http://z ... -
eclipse:failed to create the java virtual machine
2012-02-13 13:18 1058eclipse启动报错:failed to create th ... -
Spring Autowire自动装配
2012-02-13 11:56 1094如果你发现你正在研究的一个基于spring的项目的某个方法被奇 ... -
hibernate报错:Cannot add or update a child row: a foreign key constraint fails
2012-02-12 21:40 14172我遇到这个问题的原因是:把主键作为外键关联到了其他表的主键。 ... -
java floa转到doublet精度变化,数值变化
2012-02-09 17:17 1122看以下程序的输出结果: public void tes ... -
通过RGB颜色得到十六进制的颜色值
2012-02-07 13:26 1383没有验证越界。代码如下: public c ...
相关推荐
01背包问题是一种经典的计算机科学优化问题,常用于求解有限资源下的最佳分配策略。它在实际生活中的应用广泛,比如商品装箱、任务调度、投资组合优化等场景。在这个问题中,我们有一系列物品,每个物品都有一个价值...
01背包问题是一种在计算机科学和运筹学中常见的优化问题,主要涉及到组合优化和动态规划。在这个问题中,我们有n个物品,每个物品都有一个重量w[i]和一个价值v[i],以及一个容量为W的背包。目标是选择物品放入背包,...
"01背包问题(动态规划法)" 本文将详细介绍动态规划法解决01背包问题的算法设计思想、算法改进思想、存储结构、算法实现等内容。动态规划是一种非常重要的算法方法,广泛应用于经济管理、生产调度、工程技术和最优...
01背包问题是一种经典的组合优化问题,常出现在计算机科学、运筹学以及算法设计与分析中。它描述了这样一个场景:我们有一组物品,每件物品都有一定的重量和价值,现在有一个容量有限的背包,我们需要决定选取哪些...
01背包问题是一种经典的组合优化问题,经常在计算机科学,特别是在算法设计和分析中出现。这个问题的基本设定是:你有一组物品,每种物品都有一个重量和一个价值,以及一个固定容量的背包。目标是在不超过背包容量的...
01背包问题是一种经典的组合优化问题,广泛应用于资源分配、任务调度等领域。在这个问题中,我们有一个容量为W的背包,以及n件物品,每件物品都有一个重量w[i]和一个价值v[i]。目标是选取不超过背包容量的物品,使得...
利用动态规划解决01背包问题 动态规划是一种非常重要的算法方法,它可以用来解决许多复杂的问题,例如经济管理、生产调度、工程技术和最优控制等方面的问题。01背包问题是动态规划的经典模型之一,它可以用于解决...
在计算机科学中,优化问题经常需要求解一个有限的解空间,01背包问题就是这类问题的一个典型例子。01背包问题涉及到在一个有限的容量限制下,如何选择物品以最大化价值。这个问题可以通过多种方法解决,其中回溯法是...
01背包问题是一种经典的组合优化问题,常在计算机科学、运筹学以及算法设计与分析中出现。在这个问题中,我们有一组物品,每种物品都有一个重量和一个价值,我们的目标是在不超过背包总容量的前提下,选取物品以最大...
贪婪法解决01背包问题贪婪法解决01背包问题贪婪法解决01背包问题贪婪法解决01背包问题
01背包问题是一种经典的组合优化问题,经常出现在计算机科学、运筹学以及算法设计与分析中。在这个问题中,我们有n个物品,每个物品都有一个重量w[i]和一个价值v[i],以及一个容量为W的背包。目标是选择物品的子集,...
### 01背包问题的贪心算法 #### 一、问题背景及定义 01背包问题是一种经典的组合优化问题,在计算机科学与运筹学领域有着广泛的应用。该问题描述如下:给定一组物品,每个物品都有一个重量\( w_i \)和一个价值\( v...
在解决01背包问题时,分支限界法是一种非常有效的方法。01背包问题是一个经典的组合优化问题,目标是确定如何在容量有限的背包中放入物品以最大化总价值,其中每种物品都有一个重量和一个价值,且物品只能被完全取走...
本主题将深入探讨如何使用C++编程语言,结合分支限界法(通常与广度优先搜索BFS相结合)来解决01背包问题。 01背包问题是一个经典的组合优化问题,其核心是给定一组物品,每件物品有重量和价值,目标是在不超过背包...
在给定文件中,我们可以提取到关于01背包问题的知识点。01背包问题是一个经典的动态规划问题,在计算机科学和运筹学中有广泛应用,尤其在算法竞赛如NOIP(全国青少年信息学奥林匹克竞赛)和少儿编程中十分常见。问题...
其中,“01背包问题”是最基础的一种形式。 **01背包问题定义** 01背包问题得名于每个物品只能被完全放入或完全排除,即每种物品的数量是“0”或“1”,不能分割。具体来说,我们有一组物品,每种物品都有一个重量...
01背包问题是一种经典的计算机科学优化问题,常用于学习和研究动态规划算法。在这个问题中,我们有一个容量有限的背包,以及一系列物品,每个物品都有一个重量和一个价值。目标是选择一部分物品装入背包,使得背包总...
非01背包问题,也称为部分背包问题或有界背包问题,是背包问题的一个变种。在经典的01背包问题中,我们面对的是一个有限的背包,每种物品都有一个重量和价值,目标是在不超过背包容量的前提下,选择物品以最大化总...