C1. 组队活动 Small(BNUOJ)
C1. 组队活动 Small
64-bit integer IO format: %lld Java class name: Main
BNU ACM校队一共有名队员,从到标号,现在名队员要组成若干支队伍来相互学习、共同进步,为了保证学习效率,每支队伍至多有名队员,你需要计算出一共有多少种不同的组队方案。两个组队方案被视为不同的,当且仅当存在至少一名队员在两种方案中有不同的队友。
Input
第一行是一个正整数,表示测试数据的组数,
对于每组测试数据,
输入只有一行,包含两个整数、。
Output
对于每组测试数据,
输出一行,包含一个整数,表示不同的组队方案的个数,由于方案数可能很大,请对取模后输出。
Sample Input
2
5 2
20 3
Sample Output
26
721625882
思路:dp。动态转移方程dp[i]=(dp[i]+(C[i-1][j]*dp[i-1-j])%E)%E;其中C为组合数,用杨辉三角法可以求得。考虑当新加入的人,有多少种组队法,也就是和前面的人的组合按照不超过m名队员枚举,所以从前面选出的人就是C[i-1][j],前i-1个人中选j个的选法,然后前i-1剩下的按合理排的方案就为dp[i-1-j].所以两个相乘。
2 #include<algorithm>
3 #include<iostream>
4 #include<string.h>
5 #include<stdlib.h>
6 #include<queue>
7 #include<stack>
8 #include<cstdio>
9 #define sc(x) scanf("%I64d",&x)
10 #define pr(x) printf("%I64d",x)
11 #define prr(x) printf("%I64d\n",x);
12 #define prrr(x) printf("%I64d ",x);
13 const long long E=998244353;
14 using namespace std;
15 long long C[1005][1005];
16 long long dp[1005];
17 void run()
18 {
19 int i,j;
20 for(i=0; i<=1000; i++)
21 for(j=0; j<=i; j++)
22 if(j==0||i==j)
23 C[i][j]=1;
24 else
25 C[i][j]=(C[i-1][j-1]+C[i-1][j])%E;
26 }//杨晖三角
27 int main(void)
28 {
29 run();
30 int i,j,k,p,q;
31 scanf("%d",&k);
32 while(k--)
33 {
34 memset(dp,0,sizeof(dp));
35 scanf("%d %d",&p,&q);
36 dp[0]=1;
37 dp[1]=1;
38 for(i=2; i<=p; i++)
39 {
40 for(j=0; j<q; j++)//枚举种类
41 {
42 if(i-1-j<0)
43 {
44 break;
45 }
46 else
47 {
48 dp[i]=(dp[i]+(C[i-1][j]*dp[i-1-j])%E)%E;
49 }
50 }
51 }
52 printf("%lld\n",dp[p]);
53 }
54 return 0;
55 }
转载于:https://www.cnblogs.com/zzuli2sjy/p/5181122.html
C1. 组队活动 Small(BNUOJ)相关推荐
- 2023京东年货节全民炸年兽活动最详细规则
2023京东全民炸年兽活动规则 1.活动时间 整体活动时间: 2022年12月26日00: 00: 00–2023年01月15日23: 59: 59 2.活动玩法 (1)玩法一:全民炸年兽瓜分10亿压 ...
- ApacheCN 翻译活动进度公告 2019.5.3
Special Sponsors 我们组织了一个开源互助平台,方便开源组织和大 V 互相认识,互相帮助,整合资源.请回复这个帖子并注明组织/个人信息来申请加入. 如果大家遇到了做得不错的教程或翻译项目 ...
- ApacheCN 翻译活动进度公告 2019.4.23
Special Sponsors 我们是一个大型开源社区,旗下 QQ 群共 9000 余人,Github Star 数量超过 20k 个,在所有 Github 组织中排名前 200,网站日 uip 超 ...
- ApacheCN 翻译活动进度公告 2019.4.15
Special Sponsors 我们是一个大型开源社区,旗下 QQ 群共 9000 余人,Github Star 数量超过 20k 个,在所有 Github 组织中排名前 200,网站日 uip 超 ...
- ApacheCN 翻译活动进度公告 2019.4.7
我们是一个大型开源社区,旗下 QQ 群共 9000 余人,Github Star 数量超过 20k 个,网站日 uip 超过 4k,拥有 CSDN 博客专家和简书程序员优秀作者认证.我们组织公益性的翻 ...
- ApacheCN 翻译活动进度公告 2019.5.25
Special Sponsors 我们组织了一个开源互助平台,方便开源组织和大 V 互相认识,互相帮助,整合资源.请回复这个帖子并注明组织/个人信息来申请加入. 如果大家遇到了做得不错的教程或翻译项目 ...
- ApacheCN 翻译活动进度公告 2019.5.11
Special Sponsors 我们组织了一个开源互助平台,方便开源组织和大 V 互相认识,互相帮助,整合资源.请回复这个帖子并注明组织/个人信息来申请加入. 如果大家遇到了做得不错的教程或翻译项目 ...
- ApacheCN 翻译活动进度公告 2019.3.31
我们是一个大型开源社区,旗下 QQ 群共 9000 余人,Github Star 数量超过 20k 个,网站日 uip 超过 4k,拥有 CSDN 博客专家和简书程序员优秀作者认证.我们组织公益性的翻 ...
- ApacheCN 翻译活动进度公告 2019.3.17
我们是一个大型开源社区,旗下 QQ 群共 9000 余人,Github Star 数量超过 20k 个,网站日 uip 超过 4k,拥有 CSDN 博客专家和简书程序员优秀作者认证.我们组织公益性的翻 ...
最新文章
- 智能的源泉,大脑从何而来?
- 中国半导体最强助攻来了!十年免税、上下游一揽子扶持,明确「集成电路」为一级学科...
- java下拉框及响应函数_Java 下拉框JComboBox和单选按钮JRadioButton简单举例使用 | 学步园...
- MeshLab中进行点云配准
- Object-C---gt;Swift之(三)nil合并运算符、范围运算符
- ChartCtrl源码剖析之——CChartAxis类
- javascript学习系列(14):数组中的indexOf方法
- 给摩托车上个牌,却把自己干骨折了...
- 安卓开发——JNI——回调java中的方法
- NSURLSessionDownloadTask实现大文件下载
- linux 存储映射lun 给_linux 存储多路径聚合和映射
- 【Kafka】kafka的安装以及部署的详细描述
- 在线JSON转CSV格式文件工具
- 10截图时屏幕变大_刚刚才知道!华为手机还有7种截图方式,其中1种居然能隔空截图...
- python︱Python进程、线程、协程详解、运行性能、效率(tqdm)
- Sitadel:一款功能强大的Web应用扫描器
- Oracle Data Recovery Advisor(DRA) 数据恢复顾问
- python缠论代码_缠论dll(czsc - 缠中说禅技术分析工具)
- 工商银行网银支付问题 有网站想要安装以下加载项 来自Industrial and Commercial Bank of China Limited‘ 第三方支付机构上送网联跳转报文请求参数错误
- 【Git】Git国内官网下载地址、淘宝镜像下载地址以及卸载安装
热门文章
- LeetCode 1484. 克隆含随机指针的二叉树(哈希/递归)
- php判断全是中文正则,php判断是否为中文正则表达式大全
- python官方的扩展索引_Python列表操作与深浅拷贝(6)——列表索引、查询、修改、扩展...
- 冒泡排序和选择排序区别_你以为只是简单的排序?(一)
- c2c旅游springboot开源_重量级开源的商城和SpringBoot等项目看看有没有正好是你需要的...
- java的构造函数格式_来自模板化对象的Java 8函数构造函数
- mysql gui 有哪些_推荐五款较好的MySQLGUI工具
- php金字塔手动输入行数,[菜鸟学php] php版自定义函数实现金字塔
- 算法工程师怎样提升业务理解能力?
- ICML2020 | 一行代码就能实现的测试集上分技巧