容斥原理,组合数。 找出有$cnt$个数字还有没放,那么总方案数就是$cnt!$。 总方案数里面包含了正确的和非正确的,我们需要将非正确的删去。 先删去$1$个数字$a[i]=i$的情况,发现会多删,要加回两个数字$a[i]=i$的情况,发现会多加......就是一个容斥原理的过程。 ...
分类:
其他好文 时间:
2016-09-05 12:15:03
阅读次数:
179
意图写出http://www.cnblogs.com/kuangbin/archive/2012/08/28/2661066.html这个东西的完善版。 1.置换,置换的运算 poj 2369 Permutations置换群中有一个定理:设T为一置换,e为单位置换,T^k=e,那么k的最小正整数解是 ...
分类:
其他好文 时间:
2016-09-03 12:18:02
阅读次数:
166
The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of the permutations in order,We get the following sequence ...
分类:
编程语言 时间:
2016-08-31 01:58:52
阅读次数:
233
输入一个数组,字典序输出所有排列,输入的数组中元素可能有重复。 详细思路看上一篇博文,这里重点说一下去重: 上一篇的去重不完善,思路是完善的,代码不完善,加了一个判断才对,具体看代码注释 ...
分类:
其他好文 时间:
2016-08-30 16:00:58
阅读次数:
108
LeetCode 46 Permutations...
分类:
其他好文 时间:
2016-08-18 14:34:51
阅读次数:
84
这个题和组合很像,但是排列需要把所有的可能都列出来,所以不需要记住位置,每一层都是从0开始循环。相应的,它需要一个数组,在每一层的时候把是否加过这个数字记下来,最后remove的时候需要把这个flag归位。 (这个题还有非recursive的做法,需要再看) ...
分类:
其他好文 时间:
2016-08-18 08:44:32
阅读次数:
180
这个题和permutation很像,只是需要考虑重复的数字。重复的数字只有第一次出现的时候加入,保证永远都是第一个重复出现的数字在前,而且要加过(用used数组纪律的时候,重复数字第一个如果没有被mark,就应该跳过)。 ...
分类:
其他好文 时间:
2016-08-18 08:40:42
阅读次数:
120
题目: Given a collection of numbers that might contain duplicates, return all possible unique permutations. 解析: 编码: ...
分类:
编程语言 时间:
2016-08-13 12:44:23
阅读次数:
166