错排公式:f(n)=(n-1)(f(n-1)+f(n-2)) 例证: 经典的信封问题: 一个人写了9封不同的信及相应的9个不同的信封,他把这n封信都装错了信封,问都装错信封的装法有多少种?解题思路: 用A、B、C……表示写着n位友人名字的信封,a、b、c……表示n份相应的写好的信纸。把错装的总数为记 ...
分类:
其他好文 时间:
2018-11-03 20:19:37
阅读次数:
142
T1 代码难度:入门 知识难度:提高 思维难度:普及 显然从n个位置中钦定m个是稳定位置之后,其余的错排即可。 错排公式$f[i]=(i 1)(f[i 1]+f[i 2])$的推导过程如下: 假设现在已经选好了i 1个元素,那么第i个元素可能的位置是前i 1个,然后假设被换掉的那个元素: 1. 到了 ...
分类:
其他好文 时间:
2018-10-30 17:44:57
阅读次数:
250
数学 1. 错排公式f[i]=(i-1)*(f[i-1]+f[i-2]) 证明可戳这里 图论 ...
分类:
其他好文 时间:
2018-09-27 23:57:24
阅读次数:
305
错排问题 错排问题是组合数学中的问题之一。一个含有n个元素的排列,若这个排列中所有的元素都不在自己原来的位置上,那么这样的一个排列就是原排列的一个错排。 求解方法 对于情况较少的排列,可以使用枚举法。 当n=1时,只有一种排列情况且不是错排,D1=0; 当n=2时,全排列有两种,1、2和2、1,后者 ...
分类:
其他好文 时间:
2018-09-22 23:18:33
阅读次数:
336
Knuth随机洗牌算法:譬如现在有54张牌,如何洗牌才能保证随机性。可以这么考虑,从最末尾一张牌开始洗,对于每一张牌,编号在该牌前面的牌中任意一张选一张和当前牌进行交换,直至洗到第一张牌为止。参考代码如下: 由上述方法可知,每一张牌经过洗牌之后一定不会出现在原来位置,那么一共会有多少情况呢,这其实就 ...
分类:
编程语言 时间:
2018-08-16 21:39:28
阅读次数:
163
错排公式 (自己写的)(f[i] pf[i]代表阶乘表和阶乘逆元表) 代码: ...
分类:
其他好文 时间:
2018-05-18 00:24:28
阅读次数:
109
容斥原理: 错排公式 $f_n=\sum_{i=0}^n(-1)^i\frac{n!}{i!}$=(-1)^n+n*f_{n-1}$ 二项式反演 $b_k=\sum_{i=0}^{k}C_k^ia_i \ \ <--> \ \ a_k=\sum_{i=0}^k(-1)^{k-i}C_k^ib_i$ ...
分类:
其他好文 时间:
2018-03-28 10:29:34
阅读次数:
182
题目描述 某人写了n封信和n个信封,如果所有的信都装错了信封。求所有信都装错信封共有多少种不同情况。 输入输出格式 输入格式: 一个信封数n(n<=20) 输出格式: 一个整数,代表有多少种情况。 题解 本题即为伯努利信封问题 360百科:错排公式 STD 然而这题范围只有二十... 不要问我第二段 ...
分类:
其他好文 时间:
2018-03-09 20:28:52
阅读次数:
190
题目链接:http://codeforces.com/problemset/problem/888/D 题意: 给定n,k,问你有多少种1到n的排列,满足至少有n-k个a[i] == i。 (4 <= n <= 1000, 1 <= k <= 4) 题解: 转换题意: 给定n,k,问你有多少种1到n ...
分类:
其他好文 时间:
2018-02-25 14:36:00
阅读次数:
186
P1595 信封问题 P1595 信封问题 P1595 信封问题 题目描述 某人写了n封信和n个信封,如果所有的信都装错了信封。求所有信都装错信封共有多少种不同情况。 输入输出格式 输入格式: 一个信封数n(n<=20) 输出格式: 一个整数,代表有多少种情况。 输入输出样例 输入样例#1: 复制 ...
分类:
其他好文 时间:
2017-11-20 21:56:59
阅读次数:
164