将无序对(重复)映射到索引

时间:2019-04-01 19:22:36

标签: algorithm sorting

在一组C+1整数值{0,1,...,C}中。如何索引对{00,01,...,0C, 11,12,...,1C,22,...2C,...,CC}?我了解到aba <= b对的总数为(C+1)(C+2)/2对。我可以找出一种在ab时将对i映射到它们的索引a <= c/2的方法,但是该映射不适用于对的另一半。

是否有一个简单的表达式可以将成对的ab映射到索引i?这个问题与Indexing the (unordered) pairs of a set非常相似,但是在那里不允许重复。

1 个答案:

答案 0 :(得分:1)

经过一番数学运算,我得到了一个表达式。

表达式为i = a(C+1) - a(a-1)/2 + b - a。我会在有时间在乳胶上键入内容后立即发布数学运算,但其想法是根据aC计算已经计算了多少对,并且它们的三角和不同(前两个词),然后根据ba添加缺失的内容。