、康托展开:全排列到一个自然数的双射 X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! ai为整数,并且0<=ai<i(1<=i<=n) 适用范围:没有重复元素的全排列 二、全排列的编码: {1,2,3,4,...,n}的排列总共有n!种,将 ...
分类:
其他好文 时间:
2016-06-18 15:29:31
阅读次数:
207
输入“abc" 输出:abc acb bac bca cab cba ...
分类:
其他好文 时间:
2016-06-16 21:36:55
阅读次数:
155
转载声明:原文转自http://www.cnblogs.com/xiezie/p/5576273.html 题意: 一个环是用图中所示的n个圆组成的。把自然数1、2、……、n分别放入每个圆中,并在相邻的圆中的数值总和为一个质数。 注:第一圈数应该是1。 输出: 输出格式显示为下面的示例。每一行代表在 ...
分类:
编程语言 时间:
2016-06-13 18:42:05
阅读次数:
324
给定n,m,k,要求在n的全排列中,前m个数字中恰好有k个位置不变,有几种方案?首先,前m个中k个不变,那就是C(m,k),然后利用容斥原理可得 ans=ΣC(m,k)*(-1)^i*C(m-k,i)*(n-k-i)! (0<=i<=m-k) ...
分类:
其他好文 时间:
2016-06-12 12:32:26
阅读次数:
150
转载声明:原文转自:http://www.cnblogs.com/xiezie/p/5573934.html 这个题目的题意:(自己结合百度翻译,简单的翻译了一下) “这个项目是在一个在二楼图书馆一幅画的背后的克莱因的保险箱里。克莱因的保险柜是极为罕见的;他们中的大多数都随着克莱因和他的工厂在二战中 ...
分类:
编程语言 时间:
2016-06-11 22:41:43
阅读次数:
249
转载声明:原文转自:http://www.cnblogs.com/xiezie/p/5574516.html 受到ACM1015的影响,个人感觉,有必要对统计学上的 全组合和全排列 进行一个简单的总结 组合数:从m个不同元素中取出n(n≤m)个元素的所有组合的个数,叫做从m个不同元素中取出n个元素的 ...
分类:
编程语言 时间:
2016-06-11 21:20:38
阅读次数:
418
问题描述:给定一个数组,数字中数字不重复,求所有全排列。 算法分析:可以用交换递归法,也可以用插入法。 递归法:例如,123,先把1和1交换,然后递归全排列2和3,然后再把1和1换回来。1和2交换,全排列1和3,再把1和2交换回来。1和3交换,全排列2和1,再把1和3交换回来。 插入法:例如123, ...
分类:
其他好文 时间:
2016-06-06 20:42:16
阅读次数:
174
问题描述:给定一个数组,数组里面有重复元素,求全排列。 算法分析:和上一道题一样,只不过要去重。 ...
分类:
其他好文 时间:
2016-06-06 20:41:35
阅读次数:
175
问题描述:给定一个数组是一个全排列,寻找下一个全排列。例如123->132, 321->123, 115->151. 算法分析:从后往前寻找顺序,找到后从往前寻找第一个大于当前元素,即第一个逆序,然后元素交换,重新sort当前元素后面的元素。如果都是逆序,reverse数组。 ...
分类:
其他好文 时间:
2016-06-06 20:37:35
阅读次数:
169
Permutation Sequence
这个题是求1~n (n[1~9]) 的数字的全排列的第K个序列。
一般思路是:使用一个计数器,递归去找全排列序列,找到一个计数器加一,一直到第k个。
但是加若 n = 9 我要找的是第 (9! -1 )个数,那么上述办法的时间是多少,多半会超时的(没试过,但是我敢保证一定会超时的,因为这样的思路不可取),想一想我们只需要一个序列,...
分类:
其他好文 时间:
2016-06-04 22:19:12
阅读次数:
261