错位排列
来源:互联网 发布:数控加工中心编程实例 编辑:程序博客网 时间:2024/04/27 00:56
看一道题目:
n个士兵晚上巡逻,每人配备一把枪,如果n个人完全随机取一把枪,至少有一个人取
到自己的枪的概率是多少?
可以先求每个人拿到不是自己的枪的概率 P, 则1-P为题目所求
记每个人都拿不是自己的枪的情况的数目为 f (n), 则有以下递推式
易知f(1)=0; f(2)=1
n>=3时, 有f(n)=(f(n-1)+f(n-2))*(n-1)
具体怎么来的呢, 考虑其中的一人a1, 它对应的枪是b1 . 则它可以拿b2 …bn这 n-1把枪中的其中一把
不妨设a1拿的是b2, 则b2的主人a2拿的枪分为两种情况,
1. a2 拿a1的枪b1, 意味着a1跟a2交换两人的枪,
问题等价于n-2个人, n-2支枪, 每个人对应一把不能拿的枪, 方法数为f(n-2)
2. a2不拿b1, 意味着a2不能拿b1,
问题就等价于n-1个人, n-1把枪, 每个人对应一把不能拿的枪.. 方法数为 f(n-1)
所以 f(n) = (f(n-1)+f(n-2))*(n-1);
所以题目的答案是1 - f(n)/n!
n个士兵晚上巡逻,每人配备一把枪,如果n个人完全随机取一把枪,至少有一个人取
到自己的枪的概率是多少?
可以先求每个人拿到不是自己的枪的概率 P, 则1-P为题目所求
记每个人都拿不是自己的枪的情况的数目为 f (n), 则有以下递推式
易知f(1)=0; f(2)=1
n>=3时, 有f(n)=(f(n-1)+f(n-2))*(n-1)
具体怎么来的呢, 考虑其中的一人a1, 它对应的枪是b1 . 则它可以拿b2 …bn这 n-1把枪中的其中一把
不妨设a1拿的是b2, 则b2的主人a2拿的枪分为两种情况,
1. a2 拿a1的枪b1, 意味着a1跟a2交换两人的枪,
问题等价于n-2个人, n-2支枪, 每个人对应一把不能拿的枪, 方法数为f(n-2)
2. a2不拿b1, 意味着a2不能拿b1,
问题就等价于n-1个人, n-1把枪, 每个人对应一把不能拿的枪.. 方法数为 f(n-1)
所以 f(n) = (f(n-1)+f(n-2))*(n-1);
所以题目的答案是1 - f(n)/n!
- 错位排列
- 错位排列
- 错位排列
- 错位排列-组合
- 全错位排列
- 全错位排列
- 全错位排列
- 全错位排列
- 全错位排列问题
- 全错位排列
- 全错位排列
- 全错位排列
- 高精度和错位排列
- 错位排列的魅力
- hdu2048 错位排列
- HDOJ2048(错位排列)
- 错位排列-信封问题
- hdu(2048)全错位排列
- sqlserver sa用户名登陆不成功的解决方法
- J2EE总体的学习计划
- 常用的CSS命名规则
- SQL SERVER优化建议
- C#.net OutputCache 产生的严重配置问题 找不到指定的数据库
- 错位排列
- 数据库设计中的14个技巧
- 搭建target开发环境时,如何配置TFTP Server。
- 在ASP.NET中的.aspx页里调用对应.cs中的对象
- Run-Time Check Failure # 2
- 做了一下心理测试
- Configuring pydev to work with django
- 忽然发现Windows的一些使用常识还没掌握,汗
- 放弃有时更重要