Questions tagged «partitions»

1
基于分区细化的算法比对数线性时间运行更快的问题
分区优化是一种从有限的对象集开始并逐步拆分对象集的技术。使用分区细化可以非常有效地解决某些问题(例如DFA最小化)。除了Wikipedia页面上列出的问题之外,我不知道通常可以使用分区优化来解决任何其他问题。在所有这些问题中,维基百科页面提到了两个基于线性分区优化的算法。有按字典顺序排序的拓扑排序[1]和按字典广度优先搜索的算法[2]。 是否还有其他示例或对可以使用分区细化有效解决的问题的引用,这在时间上比对数线性好? [1] Sethi,Ravi,“在两个处理器上调度图形”,SIAM计算杂志5(1):73-82,1976年。 [2] Rose,DJ,Tarjan,RE,Lueker,GS,“图上顶点消除的算法方面”,SIAM计算杂志5(2):266-283,1976。

6
在一个间隔中找到两个数字的最大异或:我们能做得比二次更好吗?
lllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r 天真的算法只检查所有可能的对。例如在红宝石中,我们有: def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if (i ^ j > max) max = i ^ j end end end max end 我感觉到,我们可以做得比二次。是否有针对此问题的更好算法?

1
表示集合分区的紧凑方式是什么?
存在用于表示集合分区的有效数据结构。这些数据结构对诸如Union和Find这样的操作具有良好的时间复杂性,但是它们并不是特别节省空间。 一种节省空间的方式来表示集合的分区是什么? 这是一个可能的起点: 我知道 具有元素的集合的分区数是,即第个贝尔数。因此,表示具有元素的集合分区的最佳空间复杂度是 位。为了找到这样的表示,我们可以寻找(一组元素的分区集合)与(一组从到的整数)之间的一对一映射。NNNBNBNB_NNNNNNNlog2(BN)log2⁡(BN)\log_2(B_N)NNN111BNBNB_N 有没有这样的映射可以有效地计算?我所说的“高效”是指我想将此紧凑表示形式转换为或时间多项式中的/易于操作的表示形式(例如列表列表。NNNlog2(BN)log2⁡(BN)\log_2(B_N)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.