HDU 3625 Examining the Rooms
2013-12-11 02:06
363 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3625
题意:给出N个房间,每个房间的钥匙随机放在某个房间内,概率相同。有K次炸门的机会(不能炸第一个房间),求能进入所有房间的可能性为多大。
思路:N个房间形成[1,K]个环时可以。N个元素形成K个环为S
[K]=S[N-1][K-1]+S[N-1][K]*(N-1)。题目要求不能炸第一个房间,要减去第一个房间独立成环的情况,答案为sigama(S
[i]-S[n-1][i-1])(1<=i<=K)。
题意:给出N个房间,每个房间的钥匙随机放在某个房间内,概率相同。有K次炸门的机会(不能炸第一个房间),求能进入所有房间的可能性为多大。
思路:N个房间形成[1,K]个环时可以。N个元素形成K个环为S
[K]=S[N-1][K-1]+S[N-1][K]*(N-1)。题目要求不能炸第一个房间,要减去第一个房间独立成环的情况,答案为sigama(S
[i]-S[n-1][i-1])(1<=i<=K)。
i64 f ,S ; void init() { int i,j; f[0]=1; for(i=1;i<N;i++) f[i]=f[i-1]*i; for(i=1;i<N;i++) { S[i][0]=0; S[i][i]=1; for(j=1;j<i;j++) S[i][j]=(i-1)*S[i-1][j]+S[i-1][j-1]; } } int n,m; int main() { init(); rush() { RD(n,m); if(n==1||m==0) { puts("0.0000"); continue; } double ans=0; int i; FOR1(i,m) ans+=S [i]-S[n-1][i-1]; ans/=f ; printf("%.4lf\n",ans); } }
相关文章推荐
- J - Examining the Rooms HDU - 3625
- Examining the Rooms hdu 3625
- 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(10年天津网赛,斯特灵数)
- Hdu 3625 Examining the Rooms[第一类斯特林数]
- HDU 3625 Examining the Rooms(第一类Stirling数)
- [第一类斯特林数] HDU 3625 Examining the Rooms
- hdu 3625 Examining the Rooms(第一类斯特林数)
- HDU 3625 Examining the Rooms(第一类stirling数)
- HDU - 3625 Examining the Rooms (第一类Stirling数)
- hdu-3625 Examining the Rooms(斯特灵数第一类)
- HDU 3625 Examining the Rooms
- hdu 3625 Examining the Rooms 轮换斯特林数