已知n,求n中取k(k<=n)个数组成的m(m<=n)个的集合的排列数.

于是,可以枚举选出k个数及枚举m个集合。这个很明显是二类斯特林数。而集合有序,则乘上m!

#include <iostream>
#include <cstdio>
#include <algorithm>
#define LL __int64
using namespace std; LL con_mul[15],Str[15][15]; void initial(){
con_mul[0]=1;
for(LL i=1;i<=11;i++)
con_mul[i]=con_mul[i-1]*i;
for(LL i=0;i<=11;i++){
for(LL j=0;j<=i;j++){
if(i==j)
Str[i][j]=1;
else if(j==0&&i>=1){
Str[i][j]=0;
}
else{
Str[i][j]=j*Str[i-1][j]+Str[i-1][j-1];
}
// cout<<Str[i][j]<<' ';
}
// cout<<endl;
}
} int main(){
initial();
int n,kase=0;
LL ans,Cnk,t;
scanf("%d",&n);
while(n--){
kase++;
ans=0;
scanf("%I64d",&t);
Cnk=t;
ans+=(Cnk*Str[1][1]);
for(LL i=2;i<=t;i++){
Cnk=Cnk*(t-i+1)/i;
for(LL k=1;k<=i;k++){
ans+=(Cnk*Str[i][k]*con_mul[k]);
}
}
printf("%d %I64d %I64d\n",kase,t,ans);
}
return 0;
}

  

最新文章

  1. 记录SQL Server2008日志文件损坏的恢复过程
  2. JS原生第六篇 (帅哥)
  3. Spring Boot文档阅读
  4. 40 网络相关函数(八)——live555源码阅读(四)网络
  5. Centos6版本升级
  6. Oracle数据库备份与恢复
  7. uoj #9. 【UTR #1】vfk的数据 水题
  8. 大文件读取方法(C#)
  9. Android 签名(4)验证是否签名
  10. 设置Activity显示和关闭时的动画效果
  11. MySql多条SQL语句的批量处理
  12. linux c: 静态库和动态库的生成和使用
  13. MyX5TbsPlusDemo【体验腾讯浏览服务Android SDK (TbsPlus 版)】
  14. .Net上传图片的一些问题
  15. NodeJs安装步骤与淘宝镜像
  16. [android] 测试的相关概念
  17. Win1064位下mysql插入百万行数据耗时问题
  18. 数学 它的内容,方法和意义 第三卷 (A. D. 亚历山大洛夫 著)
  19. Linux内核分析 笔记四 系统调用的三个层次 ——by王玥
  20. 监听事件绑定(addEventListener、attachEvent)和移除(removeEventListener、detachEvent)

热门文章

  1. [ASP.NET]asp.net动态加载用户控件
  2. HDU 4454
  3. HDU-1042-N!(Java大法好 &amp;amp;&amp;amp; HDU大数水题)
  4. 本地自旋锁与信号量/多服务台自旋队列-spin wait风格的信号量
  5. VC与JavaScript交互(一) ———— 怎样实现
  6. 完整注册+JQuery验证+selert后台校验
  7. centos 部署 .net core runtime 环境
  8. HDU 2111 Saving HDU【贪心】
  9. 学Arduino 需要做哪些准备?(引自&quot;知乎用户:郑兴芳,DhP&quot;的回答)
  10. php基础------将二维数组转三维数组