partition-problem相关内容

打印给定整数作为输入的所有唯一整数分区

我正在解决一个编程练习,遇到了一个我无法令人满意地找到解决方案的问题.问题如下: 打印给定整数作为输入的所有唯一整数分区.整数分区是将 n 写为正整数之和的一种方式. 例如:输入=4那么输出应该是输出= 1 1 1 11 1 22 21 34 我应该如何考虑解决这个问题?我想知道使用递归.谁能为我提供这个问题的算法?或对解决方案的提示.欢迎对此类问题进行任何解释.(我是编程世界的初学者) ..

一维数字数组聚类

假设我有一个这样的数组: [1,1,2,3,10,11,13,67,71] 有没有一种方便的方法可以将数组分割成这样的东西? [[1,1,2,3],[10,11,13],[67,71]] 我查看了类似的问题,但大多数人建议使用 k-means 对点进行聚类,例如 scipy,对于像我这样的初学者来说使用起来非常混乱.另外我认为 k-means 更适合二维或多维聚类,对吗?有没有什么方法可以 ..

在 Scheme 中创建一个集合的分区

我对整体计划还很陌生,我在为学校安排作业时遇到了一些问题.所以请不要提供完整的答案,只是寻找一些见解或朝正确方向的推动,这样我就可以自己解决这个问题. 问题如下:给定一个数字列表,确定是否可以从这些等价和和项目数量的数字组成两个子集.例如,如果给定的集合是 (1 1) 那么我的程序应该返回 #t,否则返回 #f. 这是我到目前为止所写的(即使它目前没有输出) (define l (l ..
发布时间:2021-07-02 18:50:20 其他开发

递归回溯算法,用于解决分区问题

嘿,我正在寻找某种帮助,以找到一种将正数数组划分为k个部分的算法,以便每个部分(大约)具有相同的总和...假设我们拥有 1,2,3,4,5,6,7,8,9 en k = 3此算法应该像这样1,2,3,4,5 | 6,7 | 8,9对其进行分区元素的顺序无法更改...找到贪婪算法很容易,但是我正在寻找一个总是返回最佳解决方案的回溯版本... Annyone有任何提示吗? 解决方案 ..

将列表分为两个等份算法

相关问题: 划分列表的算法将数字分为2个相等的总和列表 将列表分为两部分他们的总和彼此最接近 让我们假设我有一个列表,其中完全包含2k元素.现在,我愿意将其分为两个部分,每个部分的长度为k,同时尝试使这些部分的总和尽可能相等. 快速示例: [3, 4, 4, 1, 2, 1]可能会拆分为[1, 4, 3] and [1, 2, 4],并且总和差将为1 现在-如果零件可以具 ..

背包的变种

我正在开发一个解决0/1背包问题变体的程序。 原始问题在这里描述: https://en.wikipedia.org/wiki/Knapsack_problem 。 以防万一将来链接丢失,我将为您简要介绍0/1背包问题(如果您对此很熟悉,请跳过此段): 假设我们有 n 个项目,每个项目的权重 wi 且值 vi 。我们希望将物品放入一个最大重量为 W 的袋子中,以便袋子内的总价值是最大可能 ..

将一组值划分为两个大小相同或相似且总和相似的值

我有一组浮点值,我想分为两组,其大小最多相差一个元素。此外,两组值之和的差异应最小。可选地,如果元素的数量为奇数且总和不能相等,则较小的集合应具有较大的总和。 那将是最佳解决方案,但我只确实需要针对子集大小约束的精确解决方案。严格来说,总和之差不必极小,但应接近。我也希望较小的集合(如果有)具有较大的总和。 我意识到这可能与分区问题,但它并不完全相同,也没有那么严格。 我当前算法 ..
发布时间:2020-06-03 20:21:16 其他开发

维数阵列集群

可能重复:结果 集群一维数据优化? 所以我们可以说我有一个这样的数组: [1,1,2,3,10,11,13,67,71] 有到阵列分成像这样一个便捷的方式? [1,1,2,3],[10,11,13],[67,71] 我通过类似的问题显得但大多数人使用K-均值聚类点建议,如 SciPy的,这是相当混乱用于像我这样的初学者。此外,我认为K-手段更适合二维以上的集群吧?有没有进行分区 ..

需要想法解决这个算法谜

我遇到一些类似的问题来到了这个在过去,我仍然没有得到很好的想法如何解决这个问题。问题是这样的: 正在给出大小为n℃的正整数数组; = 1000且K = N的是连续的子阵,你将有你的数组分割成数。你必须输出最小m,其中m =最大{S [1],...,S [k]的},和s [i]为第i子阵列的总和。阵列中的所有整数是100之间1和实施例: 输入:输出: 5 3>> N = 5 k = ..
发布时间:2015-11-30 20:52:45 C/C++

子集和问题,其中每个数可以增加或减少

给定一组 A 包含 N 正整数,我怎么能找到在最小整数> = 0 的,可以使用可获得的集合中的所有的元素。每个元素可以是可以是的加或减以总。 几个例子来说明这一点。 A = [2,1,3] 结果= 0 (2 + 1 - 3) A = [1,2,0] 结果= 1 (1 + 2 + 0) A = [1,2,1,7,6] 结果= 1 (1 + 2 - 1 - 7 + 6) 解决方案 您可 ..
发布时间:2015-11-30 20:38:45 C/C++

打印给出一个整数作为输入的所有唯一的整数分区

我解决一个编程练习和碰到过这我不能够令人满意地找到解决的问题。 问题就如下: 打印给定一个整数作为输入的所有唯一的整数分区。 整数分区写入N个正整数的总和的一种方式。 为前: 输入= 4 然后输出应 输出= 1 1 1 1 1 1 2 2 2 1 3 4 我应该如何考虑解决这个问题呢? 我想知道如何使用递归。任何人都可以向我提供的算法,这个问 ..
发布时间:2015-11-30 20:35:57 C/C++

在设定分区更好的结果比差分

分区问题被称为是NP难。根据问题的具体实例,我们可以尝试动态编程或一些启发式像差分(也称为卡马卡尔-卡普算法)。 后者似乎是用大数字的情况下非常有用(是什么使动态规划顽固性),但是并不总是完美的。什么是有效的方法,找到一个更好的解决方案(随机的,禁忌搜索,其他的近似)? PS:这个问题有它背后的一些故事。还有一个挑战约翰尼去购物可在SPOJ自2004年7月至今,面临的挑战已经解决了1087用户 ..
发布时间:2015-11-30 16:09:07 C/C++

寻找最大价值的子集,其中PartitionProblem算法返回true

从来就得到了下面的任务。 您有一个多集S采用的1< = N< = 22元。 每个元件具有高达千万的正值。 Assmuming有两个子组S1和S的s2的其中一个中的所有元素的值的总和等于所述其他的所有元素的值的总和,这是可能的最高值。我必须要返回的的S元素将不被包括在任的两个子集的。 它可能被解决过,我觉得划分问题的一些变种,但我可以'T找到它。如果任何人都可以点我在正确的方向th ..
发布时间:2015-11-30 15:25:18 C/C++

3分区问题

下面是另一个动态编程的问题(瓦齐拉尼CH6 ) 考虑以下3分区 问题。鉴于整数a ...的,我们 想以确定它是否是 可能{1 ... N}分割成 3不相交的子集I,J,K等 这 和(Ⅰ)=总和(J)=总和(K)= 1/3 *之和(ALL) 例如,对于输入(1; 2; 3; 4; 4; 5; 8)答案是肯定的,因为有 是分区(1; 8),(4; 5),(2; 3; 4)。另一方面,对于 ..
发布时间:2015-11-30 14:20:44 C/C++

除法列表两部分即它们的和彼此最靠近

这是一个硬盘的算法问题: 将列表中的2份(金额),其最接近它们的和(多数)彼此 列表长度为1< = N< = 100和他们的(数字)的权重1和LT = W< = 250的问题给出 例如:23 65 134 32 95 123 34 1.sum = 256 2.sum = 250 1.list = 1 2 3 7 2.list = 4 5 6 我有一个算法,但它并没 ..

获取,加起来一个给定数的所有可能的和

我正在为Android的数学应用程序。在这些领域中,用户可以输入一个int之一(没有数字和以上0)。这样做是为了得到所有可能的和,使这个中断,没有双打(4 + 1 == 1 + 4在这种情况下)。已知的唯一的一点是这一个int类型。 例如: 说用户输入4,我想应用程序返回: 4 3 + 1 2 + 2 2 + 1 + 1 1 + 1 + 1 + 1 显然4 == 4,使得应添加太多。任何建 ..
发布时间:2015-11-30 14:01:19 Java开发