使用动态规划的值无关背包问题
Value Independent Knapsack Problems using Dynamic Programming
我已经搜索了所有的网站。但背包问题总是与重量和价值有关。
我必须为以下问题编写算法和C++实现。。
问题:
背包问题是,给定一组正整数(a1,…..,an)和一个大小为s的背包,找到(a1,..,an
为此必须使用动态编程来设计算法。还必须证明正确性,并为此计算计算时间。
你能为此提供任何有用的资源吗。有人能解释一下怎么做吗?因为在整个网络中,我只能找到带有权重和值的背包问题。
这个问题有点特殊。。
请尽快发布。。。。
这是子集和问题,它是背包的一个私有实例,其中每个项目的cost[i] = weight[i]
为i
。
DP解决方案遵循以下递归公式:
D(0,i) = true
D(x,i) = false x < 0
D(x,0) = false x > 0
D(x,i) = D(x-arr[i],i-1) OR D(x,i-1)
最后,x<=S
的最高值,即D(x,n) = true
,是最大S.的最高可能值
相关文章:
- 背包问题,视觉工作室问题
- 分段故障背包问题
- 如何解决动态规划问题?
- 动态规划中的旅行推销员问题
- 返回不停止函数,递归函数问题?(编程练习,动态规划,Levenshtein 回溯)
- 寻找最小楼梯成本的动态规划问题的错误答案
- 自上而下的动态规划与递归朴素解决方案.检查运行时执行
- 动态规划 - 原始计算器
- 如何通过动态规划方法解决这个问题?
- C++ 返回具有最小硬币的数组/向量以获得价值动态规划
- 动态规划 - 在数组中查找目标求和方式
- 转换为动态规划算法
- 我的记忆动态规划算法有什么问题?
- BOOST-ASIO ASYNC_RECEIVE_FROM功能超载问题( 动态指针)
- 使用动态规划在矩阵中的所有可能路径中具有最小总和的打印路径
- 动态规划:计算集合中存在多少个升序子集
- 使用动态规划的值无关背包问题
- 动态规划问题
- 动态规划- 0-1背包:返回的重量和最大值在c++
- 如何使用动态规划自顶向下的方法来解决这个问题?