康托展开

排列映射到整数的一种方式,可以把排列映射到一个 \([1,n!]\) 的整数,并且等于其在所有排列中的排名。也可以反着映射回去。
image
用树状数组做,\(O(n \log n)\)

反着映射是怎么搞呢,直接每一次对 \(i!\) 取除法,然后放权值线段树上二分就好了。

posted @ 2023-02-14 16:37  OIer某罗  阅读(15)  评论(0编辑  收藏  举报