【发布时间】:2020-01-27 13:35:14
【问题描述】:
我想使用元素距离约束对组合进行排名和取消排名。所选元素不能重复。
例如:
n := 10元素可供选择
k := 5 正在选择的元素
d := 3 2 个选定元素之间的最大距离
1,3,5,8,9 匹配约束
1,5,6,7,8 不匹配约束
如何对具有给定距离约束的组合进行排名,其中 1,2,3,4,5 小于 1,2,3,4,6 ?有没有办法在不计算排名较小的组合的情况下进行排名?
【问题讨论】:
-
“rank”和“unrank”是什么意思?
-
排名意味着如果你按字典顺序对所有组合进行排序,那么最小的获得排名 0,第二小的排名 1,等等。
to rank表示combination -> rank和to unrank表示rank -> combination但不计算所有其他组合。rank是组合的索引,如果所有都是按字典顺序排列的。 -
没有选择的元素不能重复。
标签: arrays algorithm combinations combinatorics ranking