HDU 3625 Examining the Rooms(10年天津网赛,斯特灵数)
来源:互联网 发布:小爱同学外网网络不通 编辑:程序博客网 时间:2024/05/04 10:35
转载请注明出处,谢谢http://blog.csdn.net/acm_cxlove/article/details/7854526 by---cxlove
题目:给出N个房间,每个房间的钥匙随机放在某个房间内,概率相同。有K次炸门的机会,求能进入所有房间的可能性为多大。
http://acm.hdu.edu.cn/showproblem.php?pid=3625
钥匙与门的对应关系呈现出环。打开一个门之后,环内的所有房间都可以进入。也就是说N个房间形成1--K个环的可能有多大。N个房间N个钥匙的总数为N!。
之后是求N个房间形成i个环的总数。
题目还有个特殊要求,不能破1号的门。
也就是说1号不能独立成环,否则就失败。
第一类斯特林数S(P,K)=(P-1)*S(P-1,K)+S(P-1,K-1)表示的正是N个元素形个K个非空循环排列的方法数。
枚举形成的环,但是要除掉1号独立成环的可能。
S(N,M)-S(N-1,M-1),N个元素形成 M个环,减去除了1之外的N-1个元素形成M-1个环,也就是1独立成环。
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#define eps 1e-7#define LL long longusing namespace std;LL fac[21]={1};LL stir1[21][21];int main(){ for(int i=1;i<21;i++) fac[i]=fac[i-1]*i; for(int i=1;i<=20;i++){ stir1[i][0]=0; stir1[i][i]=1; for(int j=1;j<i;j++) stir1[i][j]=stir1[i-1][j-1]+(i-1)*stir1[i-1][j]; } int t,n,k; scanf("%d",&t); while(t--){ scanf("%d%d",&n,&k); if(n==1||k==0){ printf("0.0000\n"); continue; } LL sum=0; for(int i=1;i<=k;i++) sum+=stir1[n][i]-stir1[n-1][i-1]; printf("%.4f\n",(double)sum/fac[n]); } return 0;}
- HDU 3625 Examining the Rooms(10年天津网赛,斯特灵数)
- 斯特灵数 hdu 3625 Examining the Rooms
- hdu 3625 Examining the Rooms(斯特林数)
- hdu 3625 Examining the rooms
- hdu 3625 Examining the Rooms
- HDU 3625 Examining the Rooms
- HDU 3625 Examining the Rooms
- hdu 3625 Examining the Rooms
- HDU 3625 Examining the Rooms
- HDU-3625-Examining the Rooms
- Examining the Rooms hdu 3625
- HDU 3625 Examining the Rooms
- HDU 3625 Examining the Rooms
- HDU Examining the Rooms
- hdu Examining the Rooms
- hdu-3625 Examining the Rooms(斯特灵数第一类)
- HDU 3625 Examining the Rooms(第一类Stirling数)
- HDU 3625 Examining the Rooms(第一类stirling数)
- Ubuntu 12.04 LTS 下安装文件传输远程桌面共享软件Teamviewer
- 交通灯系统模拟 之改进
- 复选框绑定文本框,使文本框变灰
- 线索化二叉树
- 万里长征,始于足下——菜鸟程序员的学习总结(一)
- HDU 3625 Examining the Rooms(10年天津网赛,斯特灵数)
- C# WebService编程
- 最小树形图 模版--朱刘算法
- 详解S3C2440之I2C总线协议
- poj3422 Kaka's Matrix Travels 最大费用最大流
- SDK配置成功,但是在命令行输入adb却提示不是内部命令解决方案
- POJ1860—Bellman-Ford算法
- 给所有想从事软件研发的年轻工程师的忠告与建议
- TCP/IP-心跳包