错排列的概率--递推
来源:互联网 发布:linux 网络配置 详细 编辑:程序博客网 时间:2024/05/14 13:17
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2048
N张字条的所有排列可能自然是A(N,N)= N!种排列方式
现在的问题就是N张字条的错排方式有几种。分两种情况讨论
①:如果前面N-1个人拿的都不是自己的字条,即前N-1个人满足错排,那么只要第N个人把自己的票与前面N-1个人中的任意一个交换,就可以满足N个人的错排。这时有f(N-1)种方法。
②:如果前N-1个人不满足错排,而第N个人把自己的字条与其中一个人交换后恰好满足错排。即在前面N-1人中,有N-2个人满足错排,有且只有一个人拿的是自己的字条,而第N个人恰好与他做了交换,这时候就满足了错排。这时有f(n-2)种方法
对于①,因为前N-1个人中,每个人都有机会与第N个人交换,所以有N-1种交换的可能。
对于②,因为前N-1个人中,每个人都有机会拿着自己的字条。所以也有N-1种交换的可能。
所以得错排递推公式 1.
D[n] = (n-
1
)*(D[n-
1
]+D[n-
2
])
由于计算n!和D[n]数字会非常大,所以我们采用边做边除而不是先算D(n),再除n!的方法。1.
已知D[n]=(n-
1
)(D[n-
1
]+D[n-
2
]);
2.
f[n]=D[n]/n!;则有D[n]=n!*f[n];
3.
代入可得f[n]=(n-
1
)(f[n-
1
]*(n-
1
)!+f[n-
2
]*(n-
2
)!)/n!;
4.
即得到错排概率公式
f[n]=
(f[n-
1
](n-1)+f[n-
2
])/n;
代码如下:
- 错排列的概率--递推
- HDN2048(递推之错排列)
- stone game (概率,递推)
- uva557 - Burger 概率递推
- qut1362麻烦的转盘(概率dp或递推)
- UVA 11021 全概率公式+递推的使用
- NKOJ 1623 守卫者的挑战(概率+递推)
- 动态规划,递推(杆子的排列,uva 1638)
- 擅长排列的小明 II 递推公式
- 递归递推 H (全错排列)
- 【BZOJ4517】【递推】【错排】排列计数 题解
- UVA 11021 Tribbles 概率问题+递推
- UVA 557 - Burger(概率 递推)
- XTU 1193 Lucky Wheel 概率递推
- UVA 11021 - Tribles(概率递推)
- UVA 10288 - Coupons(概率递推)
- UVA - 11021 Tribles (递推+概率)
- UVA - 10288 Coupons (概率+递推)
- 并口引脚定义
- 隐式共享文件夹
- sql中如何查询数据库表等信息
- 获取当前登陆信息
- C++ Builber 的控件
- 错排列的概率--递推
- 关于共产主义社会的可能性探讨
- .net打印
- 20091018_language_english
- 老祖古庙
- Yahoo 量子统计设置的白名单有什么作用
- 求数组最大连续子序列和
- 接口和抽象类
- 数组排序,奇数在前偶数在后