摘要: 题目大意:给你一个$1\sim n(n\leqslant 10^5)$的排列,设$a$为它在$1\sim n$的全排列中的排名,求在$1\sim n$的全排列中第$a+m$个排列。 题解:康托展开以及逆康托展开。将原排列转为变进制数,加上$m$,再用转回排列。转回去可以用在树状数组上二分来解决。这里 阅读全文
posted @ 2019-07-10 16:15 Memory_of_winter 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个$n$的排列,求它在$n$的全排列中的名次 题解:康托展开,对于一个全排列,第$i$为有$n+1-i$种选择,用变进制数表示,这一位就是$n+1-i$进制。记排列中第$[1,i)$中比第$i$位小的数个数位$a$,变进制数中第$i$位的数为$i-a-1$。可以用树状数组维护 卡点: 阅读全文
posted @ 2019-07-10 08:22 Memory_of_winter 阅读(200) 评论(0) 推荐(0) 编辑