java数字不等于_java – 仅使用set中的数字查找等于或大于给定目标的总和
首先让我们将这个问题简化为整数而不是实数,否则我们将无法获得快速优化算法.例如,让我们将所有数字乘以100,然后将其四舍五入为下一个整数.所以说我们有项目大小x1,…,xn和目标大小Y.我们想要最小化该值
k1 x1 + … + kn xn – Y
在这种条件下
(1) ki is a non-positive integer for all n ≥ i ≥ 1
(2) k1 x1 + … + kn xn – Y ≥ 0
一个简单的算法就是问一系列问题
>我们能达到k1 x1 … kn xn = Y 0吗?
>我们能达到k1 x1 … kn xn = Y 1吗?
>我们能达到k1 x1 … kn xn = Y z吗?
>等随着z的增加
直到我们得到答案“是”.所有这些问题都是Knapsack问题的实例,权重设置等于项目的值.好消息是,如果我们可以为z建立上限,我们可以立即解决所有这些问题.很容易证明存在z≤Y的解,除非所有xi都大于Y,在这种情况下解决方案只是选择最小的xi.
所以让我们使用pseudopolynomial dynamic programming approach来解决背包:让f(i,j)为1,如果我们可以使用前i项(x1,…,xi)达到总项目大小j.我们已经复发了
f(0,0) = 1
f(0,j) = 0 for all j > 0
f(i,j) = f(i - 1, j) or f(i - 1, j - x_i) or f(i - 1, j - 2 * x_i) ...
我们可以在O(n * Y)时间和O(Y)空间中解决这个DP阵列.结果将是第一个j≥Y,其中f(n,j)= 1.
有一些技术细节留给读者练习:
>如何在Java中实现它>如果需要,如何重建解决方案.这可以使用DP阵列在O(n)时间内完成(但是我们需要O(n * Y)空间来记住整个事物).
java数字不等于_java – 仅使用set中的数字查找等于或大于给定目标的总和相关推荐
- html中写自增数字,WPS word中数字怎么自增 如何在word中设置数字的千位分隔符
选中某行,列或者某一部分,选择菜单栏的"行和列"->"填充"选项,选择序列选项. 在弹出的窗口中设置你需要的选项. WPS文字怎样自动增加数字 如何在WP ...
- java数字计算结果_Java编写程序之输入一个数字实现该数字阶乘的计算
需求说明: 编写Java程序,输入一个数字,实现该数字阶乘的计算.一个数字的阶乘是所有小于及等于该数的正整数的积,自然数n的阶乘写作n! .例如,5的阶乘等于1*2*3*4*5,表示为5! = 120 ...
- excel复制数字乱码_仅在Excel中复制数字
excel复制数字乱码 Someone emailed me recently, asking how to copy just the numbers, from a column that als ...
- python中数字应该用什么表示_8.python中的数字
python中数字对象的创建如下, a = 123b= 1.23c= 1+1j 可以直接输入数字,然后赋值给变量. 同样也可是使用类的方式: a = int(123) b= float(1.23) c ...
- python正则表达式提取数字比较好_python正则表达式从字符串中提取数字的思路详解...
python从字符串中提取数字 使用正则表达式,用法如下: ## 总结 ## ^ 匹配字符串的开始. ## $ 匹配字符串的结尾. ## \b 匹配一个单词的边界. ## \d 匹配任意数字. ## ...
- c语言一个整数各位数字个数_C语言实现把字符串中的数字转换成整数
===Tips:点击上方 蓝字 关注并查看历史消息=== 本题实现的功能是把字符串中的数字提取转换成整型数字,例如:若输入字符串"ab56cd87",则输出结果:以%d格式输出 ...
- python数字大小排列_python按照列表元素中的数字大小排序
[Human Sorting] 常见的python排序只需要一个sort或者sorted函数即可.但是默认采用的是字典序,这会带来一个问题,如果列表中的元素是字符串+数字组合,往往无法得到我们想要的排 ...
- python字符串提取数字并求和_python实现将字符串中的数字提取出来然后求和
因工作原因,很久没有学习python知识了,感觉都快忘记了,前天看到一个练习题,如何将字符串中的数字提取出来,然后求和呢?下面我来解释一下如何通过python代码来实现. 题目:字符串43...3y2 ...
- oracle 判断数字是否为整数,怎么判断JS中一个数字是否为整数?
怎么判断JS中一个数字是否为整数? 面试的时候遇到的问题,然后小疯回去查就几种方法,姑且一看,请多指正. 方法一: var ss =$("#ss").val(); var sss ...
最新文章
- 为什么说比特币的交易属性优于储值属性
- ad域时间源配置_Windows网络服务与配置管理之活动目录学习
- SqlServer sa 用户登录失败的解决方法
- python 魔法参数*argv 和 **kw
- Firefox、Chrome 盘助手
- sql 统计节点和子节点下面的数量_一次900万+数据量的 SQL 查询优化分析「上百倍性能优化」...
- 智能优化算法(源码)-飞蛾扑火优化算法(MFO)
- Python编程学习笔记:列表
- 深入解读Linux内存管理系列(7)——伙伴系统
- 空间可能与时间一样,也是不可逆转的
- html仿excel冻结 css,如果做类似Excel 冻结首列的效果_html/css_WEB-ITnose
- 自己组装的台式电脑怎么安装系统教学
- 怎么隐藏计算机磁盘分区,如何隐藏硬盘分区 隐藏磁盘分区
- 9步搞定:用迅雷等工具下载百度网盘资源
- 自媒体新手经常犯,自媒体平台发布作品没收益?分析了这5个原因
- 如何给PDF文件添加书签及子书签
- SQL之case when then用法(用于分类统计)
- 微信开通状态检测工具(免验证码版)运行原理
- chrome和Firefox浏览器如何访问非安全端口站点
- 自动化测试之 ddt 驱动 excel 文件
热门文章
- LetCode-MSSQL销售分析-I
- jni c java互相调用_通过JNI实现Java和C++的相互调用
- springcloud gateway 使用nacos 作为配置中心 和 注册中心
- 【Can not lock the registry cache file】同一台机器部署多个dubbo应用(配置文件相同)
- http 请求头 header Referer 含义和作用
- 字符串类中的StringBuffer,StringBuilder
- Java之Collections.emptyList()、emptySet()、emptyMap()的作用和好处以及要注意的地方。
- just for rest~
- mybatis TypeHandler 类型处理器
- 【OS学习笔记】三十六 保护模式十:通过中断发起任务切换----中断任务