Algorithm 从一组数字中创建1000、2000等的总和

Algorithm 从一组数字中创建1000、2000等的总和,algorithm,Algorithm,好的,问题是: 我需要从50-100个项目集合中找到任意数量的intem组,总计1000、2000、…、10000 输入:整数列表 整数只能在一个列表中 关于算法有什么想法吗?用谷歌搜索背包问题应该会给你带来不少好处,尽管它们不太可能令人鼓舞——这是一个众所周知的NP完全问题 编辑:如果你想了解技术,你所描述的似乎真的是子集和问题——这是背包问题的一个特例。当然,这是假设我正确理解了你的描述,我承认这可能会引起一些问题 你可能会发现算法3.94很有帮助。谷歌搜索背包问题应该会让你获得很多点击率,

好的,问题是:

我需要从50-100个项目集合中找到任意数量的intem组,总计1000、2000、…、10000

输入:整数列表

整数只能在一个列表中


关于算法有什么想法吗?

用谷歌搜索背包问题应该会给你带来不少好处,尽管它们不太可能令人鼓舞——这是一个众所周知的NP完全问题

编辑:如果你想了解技术,你所描述的似乎真的是子集和问题——这是背包问题的一个特例。当然,这是假设我正确理解了你的描述,我承认这可能会引起一些问题


你可能会发现算法3.94很有帮助。

谷歌搜索背包问题应该会让你获得很多点击率,尽管它们不太可能令人鼓舞——这是一个非常著名的NP完全问题

编辑:如果你想了解技术,你所描述的似乎真的是子集和问题——这是背包问题的一个特例。当然,这是假设我正确理解了你的描述,我承认这可能会引起一些问题


您可能会发现算法3.94非常有用。

这就是背包问题。您可以选择的整数有任何限制吗?它们是可分割的吗?它们是否都小于某个给定值?考虑到这些限制条件,可能有办法在多项式时间内解决这个问题-谷歌将为您提供答案。

这就是背包问题。您可以选择的整数有任何限制吗?它们是可分割的吗?它们是否都小于某个给定值?考虑到这些限制,可能有办法在多项式时间内解决这个问题-谷歌会为您提供答案。

我不是100%同意您的要求,但我以前使用过回溯搜索来搜索类似的内容。这是一个蛮力算法,是最慢的解决方案,但它会起作用。关于的wiki文章可能会对您有所帮助。基本上,您可以使用递归算法来检查每一种可能的组合。

我不是100%同意您的要求,但我以前使用过回溯搜索。这是一个蛮力算法,是最慢的解决方案,但它会起作用。关于的wiki文章可能会对您有所帮助。基本上,你可以使用递归算法来检查每一种可能的组合。

家庭作业问题应该这样说。家庭作业问题应该这样说。这不是真正的问题——在我的情况下,这不是优化——不需要获得最大数量的结果。获得结果只是获得最佳结果的特例。不幸的是,你仍然处于NP完全状态。这是答案,仍然在2^n/2上是令人悲伤的,但我能得到的最好结果。这不是真正的问题-在我的情况下,这不是优化-不需要得到最大数量的结果。得到一个结果只是得到最好结果的一个特例。不幸的是,你仍然处于NP完全状态。这就是答案,仍然在2^n/2上是令人悲伤的,但我能得到的最好结果。背包问题有两个参数-权重和值。我只有体重。常量是指它们在1-10000范围内,仅此而已。在算法的上下文中,所有整数的值都可以是1,它们的值可以等于它们的权重,或者其他变量。这只是将问题转化为适合算法的问题。背包问题有两个参数-权重和值。我只有体重。常量是指它们在1-10000范围内,仅此而已。在算法的上下文中,所有整数的值都可以为1,它们的值可以等于它们的权重,或者其他变量。这只是将问题转化为适合算法的问题。