【发布时间】:2019-11-04 15:28:12
【问题描述】:
我想将长度 N 的排列保存在小于 N 字节的范围内。长度N的排列有元素1,2,3,....,N。
排列具有以下偏好:
只有 1 个周期
可以通过 DI 序列和等级来描述 permutation ranking with DI sequence
补充阅读:Rank and unrank permutation with special properties
有没有办法结合这些偏好来最小化排名的可能排列?还是有更多的偏好可以用来描述排列的字节数少于长度?
我的想法是指定一个排列子集,然后对其进行排名,但我未能组合首选项以创建一个通过首选项定义的子集。
【问题讨论】:
-
首先,您可以将其保存在 (n-1) 个字节中。您可以存储前 n-1 个元素。最后一个是隐含的
-
问题描述有点模糊。可以通过为每个项目符号添加详细描述来改进它。举个例子也会有所帮助。
-
@AbhayAravinda 倒数第二个只有 2 种可能性,可以存储在 1 位等中,最终整个排列可以使用其在阶乘数系统中的索引进行编码。不过,它不使用特殊属性。
-
什么是 DI 序列?什么是实力?
-
更新描述
标签: arrays algorithm compression permutation ranking