问题标签 [partition-problem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2832 浏览

dynamic-programming - 使用动态规划确定是否存在给定 n 个数字的 3 分区

我找到了 3-partition 问题的解决方案,即给定 n 个数字,您确定是否可以形成三个(不相交)子集,使得所有子集都相等(即每个子集的总和等于 n数字/3)。

一个类似的问题是:3-PARTITION 问题。但是,我正在寻找以下代码的解释。

简单地说,我不知道发生了什么。我不知道 T 是什么,i 或 j 是什么,k 是什么,或者为什么我们 k 和 j 从 N 开始并且正在递减,什么 "T[j + C[i]][k] = true; T[j][k + C[i]] = true" 意味着,或者我们为什么要返回 T[N/3]?

0 投票
1 回答
268 浏览

c - 在 diskperf 中获取分区详细信息

在 diskperf 过滤器驱动程序中,如何获取所有分区的分区信息。

我正在使用IOCTL_DISK_GET_DRIVE_LAYOUT_EXioctl 来获取分区信息。

我能够从一个磁盘获取分区的详细信息。但是,如果有多个磁盘,那么我如何从这些磁盘中获取分区的详细信息。我试过了,但我得到了第二个磁盘的返回状态,0x80000010这意味着STATUS_DEVICE_OFF_LINE。谁能解释一下我该如何解决这个问题?

另一个磁盘的分区是主分区,但不引导。所以可能这就是为什么我0x80000010在启动时获得了 windbg 中的返回状态。那么如何才能获得系统已完成加载的分区详细信息。

0 投票
1 回答
261 浏览

dynamic-programming - PartitionProblem 变化 - 子集的固定大小

我有一个问题,它是 NP 完全的分区问题的变体。这是一个优化问题,而不是一个决策问题。

问题:将一个数字列表划分为两个子集,使它们的总和之差最小,然后找到这两个子集。如果n是偶数,那么大小应该是n/2,如果是奇数,那么floor[n/2]ceil[n/2]

假设伪多项式时间 DP 算法最适合精确解,如何修改它来解决这个问题?解决这个问题的最佳近似算法是什么?

0 投票
1 回答
545 浏览

algorithm - PartitionProblem - 找到最优子集

在使用动态规划伪多项式时间算法解决分区问题后,我需要找到最佳子集。

更具体地说,我无法理解这个答案:https ://stackoverflow.com/a/890243/1317826

我无法理解如何从布尔表中构造最佳子集。

关于分区问题的维基百科文章也有:http ://en.wikipedia.org/wiki/Partition_problem

有人可以解释一下吗?

0 投票
4 回答
10476 浏览

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

我正在解决一个编程练习,遇到了一个我无法令人满意地找到解决方案的问题。问题如下:

例如: Input=4 那么输出应该是 Output=

我应该如何考虑解决这个问题?我想知道使用递归。谁能为我提供这个问题的算法?或对解决方案的提示。欢迎对此类问题进行任何解释。(我是编程界的初学者)谢谢!!

0 投票
2 回答
244 浏览

sql - SQL:无法恢复有效的开始/结束日期按查询排序/分区

我想带回一个结果集,该结果集返回具有多个供应商更改的 id 的开始生效日期和结束生效日期。为此,我正在查看一个交易表,其中记录了 id、供应商的 id 和交易发生的日期。在id切换供应商的情况下,我想退出旧的关联并记录新的关联。我的意图是插入一个新行,其中最新的切换日期作为开始生效日期,空值作为结束生效日期。为了完成该活动,我想用最新的切换日期填充的结束生效日期更新上一行。在我有交易但 id 没有切换供应商的情况下,我想忽略该行。

我对单个 id 有效,但是,当我添加第二个 id 时,顺序/分区不起作用。

这是生成测试行的脚本。记录了适用于单个 id 的 sql。

==================================================== =================

已编辑

以下是期望的结果:

在此处输入图像描述

0 投票
1 回答
1988 浏览

algorithm - 将链表分成 2 个总和相等的子表

我正在尝试将链接列表划分为 2 个总和相等的子列表。这些子列表不需要包含连续的元素。

我有一个链表作为

两者的元素总和都与 11 相同。

有人可以提供一些伪代码来解决这个问题吗?

这是我到目前为止的想法:

  1. 将链表的元素相加并除以 2。

  2. 现在直到您的linkedlist1 的总和小于linkedlist/2 的总和,继续将元素推入linkedlist1。

  3. 如果不等于且小于linkedlist sum/2,则移动到下一个元素,当前元素可以推送到linkedlist2。

但这仅在元素按特定顺序排列时才有效。

0 投票
0 回答
271 浏览

magento - magento 中自定义电子邮件模板的奇怪问题

嗨,对于某些需要,我需要设置一个带有新页眉和页脚的新电子邮件模板,为此我已经在其中创建了一个新模板

configuration->transaction emailscrate a new template

使用以下代码

在这我需要发送一些变量是

当我只发送这些变量时,会发送电子邮件。但问题是当我发送电子邮件模板时,我没有收到任何电子邮件。

但是当我再次复制变量时,我收到了两封带有电子邮件模板的电子邮件和另一封带有变量的电子邮件。

我不明白为什么只有模板没有通过电子邮件发送

0 投票
1 回答
1535 浏览

algorithm - 给定一组 20 个不同的正整数,找到两个总和相同的子集

例如,如果 A = {10, 20, 30, 40, ..., 200},则 {10, 20, 30, 40, 100} 和 {90, 110} 是两个具有相同和的子集(其中是 200)。

由于输入的长度只有20?我们不能简单地生成数字的所有组合,计算它们的总和,将它们存储在哈希映射中 [key = sum, value = count] 并在映射条目的迭代中查看总和是否已被多次计算?

0 投票
1 回答
2016 浏览

algorithm - 划分整数集

我对算法问题的解决方案有疑问,如下所述。

我们有一组整数(例如数组)。我们的任务是将它们分成总和彼此相等的组(它们不必具有相同数量的元素)。我认为原始集合不能被划分,我们必须给出“不可能划分”的答案。

例如: Set Ais given [-7 3 3 1 2 5 14]。答案是[-7 14], [3 3 1], [2 5]

似乎很容易说什么时候肯定是不可能的。当原始集的总和不能被 3 整除时:sum(A) % 3 != 0

你知道如何解决这个问题吗?