- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在使用动态规划伪多项式时间算法解决分区问题后,我需要找到最优子集。
更具体地说,我无法理解这个答案:https://stackoverflow.com/a/890243/1317826
我无法理解如何从 bool 表构造最佳子集。
关于分区问题的维基百科文章也有:http://en.wikipedia.org/wiki/Partition_problem
有人可以解释一下吗?
最佳答案
您所需要的一切都在您发布的答案中。
首先,当您使用伪多项式时间算法创建表时,您不会存储 bool 值 值(如果可达则为 True,否则为 False),而是您添加到的元素的值子集。你应该能够通过简单地从你获得的总和中减去它来构造子集。
所以算法是:
对于集合中的每个数字 x_i
:
设置p(1, x_i) = x_i
对于所有其他字段 p(row, sum)
将其设置为 x_i
if p(row-1, sum-x_i) != 0
所以现在 p(row, sum) = x
意味着我们可以通过获取我们的一些 row
元素来获得 sum
设置,其中最后一个是 x
。
一旦 p(some_row, N/2) != 0
您可以通过获取它的值 x
并移动到 p 来构建子集(some_row - 1, N/2 - x)
等等。
希望这能说明问题。
顺便说一句。有没有办法在答案中写 latex ?
关于algorithm - PartitionProblem - 找到最优子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17189125/
我正在尝试在r中编写代码,以便找到单变量正态分布的最大似然(而不是对数似然)值。我知道还有其他方法,但是我需要深入了解数值优化才能进行进一步的工作。当我调用'optim'函数时,它似乎根本不会进行迭代
最近我一直在用 php + mysql 做一个相当大的项目。现在我担心我的 mysql。我应该怎么做才能使我的 mysql 尽可能优化?把你知道的都说出来,我将非常感激。 第二个问题,我在每次加载页面
我不太了解 InitializeCriticalSectionAndSpinCount 的文档: http://msdn.microsoft.com/en-us/library/windows/des
我们公司有几种不同的获取潜在客户的方式,以及我们处理的几种类型的潜在客户。每种类型的潜在客户之间只有微小的差异,并且大部分信息与一种或多种其他潜在客户类型共享或相关。我和我的团队正在尝试使用 Solr
ϵ-贪婪策略 我知道 Q-learning 算法应该尝试在探索和利用之间取得平衡。由于我是该领域的初学者,因此我想实现一个简单版本的探索/利用行为。最佳 epsilon 值 我的实现使用 ϵ 贪婪策略
我是一名优秀的程序员,十分优秀!