逆康托专题

排列——逆康托展开

Description 1,2,3,…n是自然数1到n的最小的排列,易知,第二小的排列是:1,2,3….n,n-1。现在给你2个值n和m,请找到1到n个数的第m小的排列。 Input 输入包括多组样例,对于每组样例包括两个整数n和m(1<=n<=1000,1<=m<=10000000),分别如题目所述 Output 输出第m小的排列的后各个数字,中间用空格分开,每一个样例占一行 Sam

康托和逆康托展开

1.康托展开的解释 康托展开就是一种特殊的哈希函数   把一个整数X展开成如下形式:   X=a[n]n!+a[n-1](n-1)!+…+a[2]*2!+a[1]*1!(其中,a为整数,并且0<=a< i,i=1,2,..,n)   {1,2,3,4,…,n}表示1,2,3,…,n的排列如 {1,2,3} 按从小到大排列一共6个。123 132 213 231 312 321 。   代