问题标签 [combinatorics]

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 投票
1 回答
586 浏览

set - Project Euler:请帮助我理解 #106

我已经解决了 #103 和 #105 ,但是我很难理解#106,特别是数字 25 是从哪里来的?

如果我们谈论两个元素数量相等的不相交子集,那么

如果我们包含元素个数不相等的不相交子集,那么

我在这里想念什么?提前致谢。

0 投票
2 回答
1522 浏览

c++ - 不重复的多个向量元素的组合

我有 n 个向量,比如 3 个,它们有 n 个元素(不一定是相同的数量)。我需要在它们之间选择 x 数量的组合。就像从vectors[n]中选择2一样。例子:

一个向量本身不能有组合,例如 v1[0] 和 v1[1]。我怎样才能做到这一点?我已经尝试了一切,但无法弄清楚这一点。

0 投票
2 回答
1903 浏览

algorithm - 组合问题和数值问题有什么区别

请您至少举两个例子。谢谢。

0 投票
1 回答
655 浏览

c++ - C++:计算一个数字的补码及其可能不匹配的数量

我的算法有点卡住了,我需要一些帮助来解决我的问题。我认为一个例子可以更好地解释我的问题。

假设:

  • d = 4(一个数字中允许的最大位数,2^4-1=15)。
  • m_max = 1(允许的最大位数不匹配)。
  • kappa =(对于给定的 d 和 m,要查找的最大元素数,其中 m 在 m_max 中)

主要思想是对于给定的数字 x,计算其补数(以二进制为基数)以及与 x 补数的最多 m_max 不匹配的所有可能组合。

现在程序开始从 i = 0 扫描到 15。

  • 对于 i = 0 和 m = 0,kappa = \binom{d}{0} = 1(这称为完美匹配)可能的位组合只有 1111(对于 0: 0000)。

  • 对于 i = 0 和 m = 1,kappa = \binom{d}{1} = 4(一个不匹配)可能的位组合是:1000、0100、0010 和 0001

我的问题是将其推广到一般 d 和 m。我写了以下代码:

我陷入了困境,v[i][counter++] = v[i][0] ^ bits_mask因为我无法将我的算法推广到 m_max>1,因为我需要 m_max 不匹配 m_max 循环,并且在我的原始问题中,m 在运行时之前是未知的。

0 投票
3 回答
1248 浏览

database - 将组合存储为唯一总和的简单数字模式

这是一个数学问题,但我确信这必须在某些编程场景中出现,至少我希望如此,我想知道这种情况是否有名称:

假设我在一个系列中有 7 个项目。为了这个例子,让我们使用星期几。我希望用户提交他们计划在下周到达的一周中的哪几天。它们带有一系列标准的复选框,一周中的每一天都有一个。

我想将他们在一个数据库字段中选择的日期存储为单个整数。

显然,我可以为每一天分配一个数字,1 - 7(如果用户未选中所有选项,则省略 0)。但是,如果一个用户选择星期一和星期二(1 + 2)而另一个用户选择星期三(3),我就会遇到问题。

我还可以给一周中的每一天一些奇异的独特之处,这样任何数字组合都不可能与任何其他组合相同。

我的希望是,与其为第二种情况组成这样的系列,不如已经存在一些已经被很好地使用和尊重的数字属性(可能是系列中每个数字的平方等)。理想情况下,这对编程来说是非常熟悉的,派生单个数字只需要很少的通用编程语言(在我的例子中是 PHP)的开销。

我只是在做梦,还是有这样的事情存在?

0 投票
1 回答
1184 浏览

c++ - c ++ m位数字的排列

我正在寻找一个函数,它以数字x(假设为 15)、位数d(4)和排列数m(2)作为输入。该函数的输出将是所有从给定数字xd长度位排列的m位排列的数字。

对于给定的数字,(x = 15,d = 4 和m = 2)我们得到6=\binom{4}{2}不同数字的组合。

我想知道这种函数是否已经存在于 C++ STD 或 boost 等中,它返回给我这些数字......

PS,如果您知道一个返回所有排列数字的函数,直到m

问候

0 投票
2 回答
1365 浏览

language-agnostic - Function to determine number of unordered combinations with non-unqiue choices

I'm trying to determine the function for determining the number of unordered combinations with non-unique choices.

Given:

Example... for n=3, r=3, the result would be: (edit: added missing values pointed out by Dav)

I know the formula for permutations (unordered, unique selections), but I can't figure out how allowing repetition increases the set.

0 投票
2 回答
2644 浏览

python - 确定可能组合的数量

我试图弄清楚有多少种可能的方法可以组合这个字符串中的各种元素。

从每个组 ({}) 中随机选择一个项目(由竖线/| 分隔)并组合成一个字符串。

所以上面的“模板”可以产生:

我猜这是一种排列,但我想确保我做对了。

如果这也适用于“n”个嵌套项,那就太好了。

如果可能的话,我更喜欢基于数学/统计的解决方案而不是蛮力循环来获得答案。

谢谢!

0 投票
4 回答
517 浏览

algorithm - 假设一个数字大于另一个数字,则 2 个数字的可能结果数

我正在尝试编写一个算法来计算结果。但我需要组合数学方面的帮助。

假设我必须从 1 到 10 中选择 2 个数字。根据计数的基本规则,在没有任何限制的情况下,可能结果的数量是 10 * 10 = 100。(选择第一个数字的 10 个可能结果 x 10 个可能选择第二个的结果)。

鉴于第一个数字必须大于第二个数字,可能的结果数量是多少?

0 投票
17 回答
88478 浏览

java - java数学中的组合'N选择R'?

java库中是否有内置方法可以为任何N,R计算“N选择R”?