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

问题描述 投票:-1回答:1

在一组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非常相似,但不允许重复。

algorithm sorting
1个回答
1
投票

经过一些数学计算,我得到了一个表达。

表达式是i = a(C+1) - a(a-1)/2 + b - a。一旦我有时间输入乳胶,我就会把数学发布到后面,但是想法是根据aC(前两个术语)计算已经计算了多少对已经计算了三角和的差异,然后添加缺少什么基于ba

© www.soinside.com 2019 - 2024. All rights reserved.