【第二类Stirling数】Gym - 101147G - The Galactic Olympics
如果K>n,就无解;
如果K==n,就答案是P(n,n);
如果K<n,答案就是s(n,K)*P(K,K);
P为排列数,s为第二类斯特林数。
第二类斯特林数就是将n个球,划分为K个非空集合的方案数(无序),所以要再乘上集合数的全排列。
#include<cstdio>
using namespace std;
typedef long long ll;
#define MOD 1000000007ll
int T,n,K;
ll f[1010][1010],jc[1000010];
int main()
{
freopen("galactic.in","r",stdin);
f[1][1]=1;
for(int i=2;i<=1000;++i)
for(int j=1;j<=i;++j)
f[i][j]=(f[i-1][j-1]+(ll)j*f[i-1][j]%MOD)%MOD;
// for(int i=1;i<=10;++i)
// {
// for(int j=1;j<=i;++j)
// printf("%I64d ",f[i][j]);
// puts("");
// }
jc[0]=1;
for(int i=1;i<=1000000;++i)
jc[i]=jc[i-1]*(ll)i%MOD;
scanf("%d",&T);
for(;T;--T)
{
scanf("%d%d",&n,&K);
if(n==K)
{
ll ans=1;
for(int i=1;i<=K;++i)
ans=ans*(ll)i%MOD;
printf("%d\n",(int)ans);
}
else if(n>K)
printf("%d\n",(int)(f[n][K]*jc[K]%MOD));
else
puts("0");
}
return 0;
}
【第二类Stirling数】Gym - 101147G - The Galactic Olympics的更多相关文章
- Codeforces Gym - 101147G The Galactic Olympics
Discription Altanie is a very large and strange country in Mars. People of Mars ages a lot. Some of ...
- lightOJ 1326 Race(第二类Stirling数)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1326 题意:有n匹马赛跑.问有多少种不同的排名结果.可以有多匹马的排名相同. 思路:排 ...
- [总结] 第二类Stirling数
上一道例题 我们来介绍第二类Stirling数 定义 第二类Stirling数实际上是集合的一个拆分,表示将n个不同的元素拆分成m个集合的方案数,记为 或者 .和第一类Stirling数不同的是,集合 ...
- 第二类Stirling数
第二类斯特林数 第二类Stirling数:S2(p, k) 1.组合意义:第二类Stirling数计数的是把p个互异元素划分为k个非空集合的方法数 2.递推公式: S2(0, 0) = 1 S2(p, ...
- [BZOJ5093]图的价值(NTT+第二类Stirling数)
5093: [Lydsy1711月赛]图的价值 Time Limit: 30 Sec Memory Limit: 256 MBSubmit: 250 Solved: 130[Submit][Sta ...
- LightOJ 1326 – Race 第二类Stirling数/
简单的模板题. 题意:问n匹马出现的不同排名数. 题解:可以使用DP,本质上还是第二类Stirling数(隔板法) #include <stdio.h> #include <iost ...
- HDU 2643 Rank:第二类Stirling数
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2643 题意: 有n个个选手参赛,问排名有多少种情况(可以并列). 题解: 简化问题: 将n个不同的元素 ...
- 第二类Stirling数初探 By cellur925
上午noi.ac崩崩崩了,栽在组合数学上,虽说最后在辰哥&Chemist的指导下A掉了此题,也发现自己组合数学太弱了qwq. 在luogu上找题,结果找到了一个第二类斯特林数的题(还是双倍经验 ...
- 自然数幂和——第一类Stirling数和第二类Stirling数
第一类Stirling数 首先设 $$S_k(n)=\sum_{i=0}^ni^k$$ 根据第一类斯特林数的定义(P是排列数,C是组合数,s是Stirling) $$C_n^k={P_n^k\over ...
随机推荐
- Google MapReduce中文版
英文原文链接: Google Map Reduce 译文原文链接: Google MapReduce中文版 Google MapReduce中文版 译者: alex 摘要 MapReduce是一个编程 ...
- 关闭listener监听日志
有几次碰到过由于监听日志文件大小达到几G,使得在连接时非常慢,像hang住一样,windows下的监听日志达到4G限制,后续连接如果无法写监听日志,就会产生TNS-12537报错,可以通过关闭写监听日 ...
- 完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
<script type="text/javascript"> //设为首页 function SetHome(obj,url){ try{ ...
- HDU1025---(LIS 最长上升子序列 的应用)
分析: n行 每行包含两个整数p r;意思是p从到r 不能有交叉的路 p刚好从1->n, 可看做下标,到的地方看做值 就转化为了最长上升子序列的问题 此题难点,怎么将其转化为LIS问题 #inc ...
- 正式进入搭建OpenStack
部署mariadb数据库 控制节点: yum install mariadb mariadb-server python2-PyMySQL -y 编辑: /etc/my.cnf.d/openstack ...
- [POJ2774]Long Long Message 解题报告
Long Long Message Description The little cat is majoring in physics in the capital of Byterland. A p ...
- opencv_人脸检测、模型训练、人脸识别
人脸检测.模型训练.人脸识别 2018-08-15 今天给大家带来一套人脸识别一个小案例,主要是帮助小伙伴们解决如何入门OpenCV人脸识别的问题,现在的AI行业比较火热,AI技术的使用比较广泛.就拿 ...
- [ Openstack ] Openstack-Mitaka 高可用之 Pacemaker+corosync+pcs 高可用集群
目录 Openstack-Mitaka 高可用之 概述 Openstack-Mitaka 高可用之 环境初始化 Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...
- 常用的find命令
find命令 find [路径名] –name/-size/-perm find [路径名] –name “*p” 在路径搜索p结尾的文件夹及文件 find [路径名] –name “[ab]*” 在 ...
- win32 读取文本文件,并进行字符串分割和存储
//分割字符 char *p;//p存放临时行指针 q存放临时每一行的列指针 char *hang[100]={0};//存储第一行 char *lie[300]={0} ...