hdu-3625 Examining the Rooms(斯特灵数第一类)
http://acm.hdu.edu.cn/showproblem.php?pid=3625
/*****************************************************************************************************************************
** 题意: 有n个房间,每个房间都有一把钥匙可以打开其他房间的门;
** 你想检查所有的房间,但初始所有的门都是被锁着的,
** 你可以破坏一些门,检查它,并取出门里的钥匙去打开其他房间(1号门不允许破坏)
** 问你最多可以破坏K个门,能够检查所有的房间的概率
** 题解:斯特灵数(Stirling)第一类。
** 如果不考虑那个VIP,N个房间可以被最多K把钥匙打开的情况,
** 实际上就是1..N的置换组成最多K个环的情况,这个就是第一类strling数之和stirling[n][1] stirling[n][2] ... stirling[n][k]。
** 在这些情况里面,如果钥匙1恰好锁在房间1里也是不行的,所以还要减去N-1个房间被最多K-1把钥匙打开的情况数。
*******************************************************************************************************************************/
#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long LL;
LL stirling[25][25];
LL fac[25];
void init(){for(int i = 1;i <= 20;i++){stirling[i][i] = 1;for(int j = 1;j < i;j++)stirling[i][j] = stirling[i-1][j-1] + stirling[i-1][j] * (i-1);}fac[1] = 1;for(int i = 2;i <= 20;i++)fac[i] = i * fac[i-1] ;
}
int main(){init();int t,n,K;cin >> t;while(t--){cin >> n >> K;LL sum = 0;for(int i = 1;i <= K;i++){sum += stirling[n][i] - stirling[n-1][i-1];}printf("%.4lf\n",1.0*sum / fac[n]);}return 0;
}
hdu-3625 Examining the Rooms(斯特灵数第一类)相关推荐
- [HDU 3625] Examining the Rooms(第一类斯特林数)
Examining the Rooms problem solution code problem hdu 3625 solution 之前考试有一道题:最多砸开 kkk 扇门,采取最有操作,求把 n ...
- HDU 3625 Examining the Rooms(10年天津网赛,斯特灵数)
转载请注明出处,谢谢http://blog.csdn.net/acm_cxlove/article/details/7854526 by---cxlove 题目:给出N个房间,每个房间的钥 ...
- HDU 3625 Examining the Rooms【第一类斯特灵数】
<题目链接> <转载于 >>> > 题目大意: 有n个锁着的房间和对应n扇门的n把钥匙,每个房间内有一把钥匙.你可以破坏一扇门,取出其中的钥匙,然后用取出钥匙 ...
- hdu - 2512 一卡通大冒险 (斯特灵数 贝尔数)
http://acm.hdu.edu.cn/showproblem.php?pid=2512 /** 题意:给你k张不同的卡放到n本书里有多少种放法?(n是无限大) 典型的 斯特灵数第二类 +贝尔数 ...
- ACM常用数列(斐波那契数列、卡特兰数、贝尔数、斯特灵数)
斐波那契数列:任意一个数是其前两位数只和,即f(i)=f(i-1)+f(i-2),f(1)=f(2)=1 该数列也满足黄金分割比例,所以又成为黄金分割数列 相关题目链接:Fibbonacci Numb ...
- 斯特灵数 (Stirling数)
@维基百科 在组合数学,Stirling数可指两类数,都是由18世纪数学家James Stirling提出的. 第一类 s(4,2)=11 第一类Stirling数是有正负的,其绝对值是个元素的项目分 ...
- C语言复习之判断Armstrong数(阿姆斯壮数)
首先我们来了解一下什么是Armstrong数(阿姆斯壮数) 在百度百科上阿姆斯壮数是这样说的:Armstrong 数,就是n位数的各位数的n次方之和等于该数 比如: 153=1^3+5^3+3^3 1 ...
- Move Hurst Computer 移动平均赫斯特指数计算
Move Hurst Computer 移动平均赫斯特指数计算 赫斯特指数(Hurst exponent) 赫斯特指数简介 基于重标极差(R/S)分析方法基础上的赫斯特指数(H)的研究是由英国水文专家 ...
- HDU 2643 Rank:第二类Stirling数
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2643 题意: 有n个个选手参赛,问排名有多少种情况(可以并列). 题解: 简化问题: 将n个不同的元素 ...
最新文章
- Linux期末复习题库(3)
- 大白话系列之C#委托与事件讲解(一)
- 大学期间承接软件项目的一些个人观点
- mysql原生查询单条数据_原生查询数据库流程
- 【转载】Linux下有趣的命令
- Proteus仿真单片机:PIC18单片机的仿真
- 【ACL2020】Reasoning with Latent Structure Refinement for Document-Level Relation Extraction
- android客户端从服务器端获取json数据并解析的实现代码
- java里面数字四舍五入,Java数字的四舍五入
- 吴恩达机器学习与深度学习作业目录 [图片已修复]
- 4-1 可复用性概述
- Resharper上手指南转
- Git总结笔记1-搭建和使用30条简明笔记
- cisco Router专线路由器配置
- VS 的编译选项 build下的 platform target -- Any CPU和x86有什么影响?
- openwrt编译qca驱动不成功。gcc -isystem问题。
- bootstrap插件bootbox参数
- 数据分析案例-航空公司客户价值分析(聚类)
- 手机java时代浏览器_巅峰之战 三款最热java手机浏览器横评
- 电脑技巧:推荐几款装机必备的软件