随笔分类 -  康托展开/逆展开

摘要:题意:给N和M。输出1,2,...,N的第M大全排列。思路:将M逆康托,求出a1,a2,...aN。看代码。代码:int const MAXM=10000;int fac[15];int ans[1005];int kk;int n,m;vector pq;int main(){ int cn... 阅读全文
posted @ 2015-02-01 14:52 fish7 阅读(103) 评论(0) 推荐(0)
摘要:康托展开 康托展开的公式是 X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! 其中,ai为当前未出现的元素中是排在第几个(从0开始)。 这个公式可能看着让人头大,最好举个例子来说明一下。例如,有一个数组 s = ["A", "B", "C... 阅读全文
posted @ 2015-02-01 14:26 fish7 阅读(181) 评论(0) 推荐(0)