POJ 3088
2024-10-01 11:58:11
已知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;
}
最新文章
- 记录SQL Server2008日志文件损坏的恢复过程
- JS原生第六篇 (帅哥)
- Spring Boot文档阅读
- 40 网络相关函数(八)——live555源码阅读(四)网络
- Centos6版本升级
- Oracle数据库备份与恢复
- uoj #9. 【UTR #1】vfk的数据 水题
- 大文件读取方法(C#)
- Android 签名(4)验证是否签名
- 设置Activity显示和关闭时的动画效果
- MySql多条SQL语句的批量处理
- linux c: 静态库和动态库的生成和使用
- MyX5TbsPlusDemo【体验腾讯浏览服务Android SDK (TbsPlus 版)】
- .Net上传图片的一些问题
- NodeJs安装步骤与淘宝镜像
- [android] 测试的相关概念
- Win1064位下mysql插入百万行数据耗时问题
- 数学 它的内容,方法和意义 第三卷 (A. D. 亚历山大洛夫 著)
- Linux内核分析 笔记四 系统调用的三个层次 ——by王玥
- 监听事件绑定(addEventListener、attachEvent)和移除(removeEventListener、detachEvent)
热门文章
- [ASP.NET]asp.net动态加载用户控件
- HDU 4454
- HDU-1042-N!(Java大法好 &;amp;&;amp; HDU大数水题)
- 本地自旋锁与信号量/多服务台自旋队列-spin wait风格的信号量
- VC与JavaScript交互(一) ———— 怎样实现
- 完整注册+JQuery验证+selert后台校验
- centos 部署 .net core runtime 环境
- HDU 2111 Saving HDU【贪心】
- 学Arduino 需要做哪些准备?(引自";知乎用户:郑兴芳,DhP";的回答)
- php基础------将二维数组转三维数组