C1. 组队活动 Small

Time Limit: 1000ms
Memory Limit: 131072KB

64-bit integer IO format: %lld      Java class name: Main

Submit Status PID: 51280

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].所以两个相乘。
 1 #include<stdio.h>
 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)相关推荐

  1. 2023京东年货节全民炸年兽活动最详细规则

    2023京东全民炸年兽活动规则 1.活动时间 整体活动时间: 2022年12月26日00: 00: 00–2023年01月15日23: 59: 59 2.活动玩法 (1)玩法一:全民炸年兽瓜分10亿压 ...

  2. ApacheCN 翻译活动进度公告 2019.5.3

    Special Sponsors 我们组织了一个开源互助平台,方便开源组织和大 V 互相认识,互相帮助,整合资源.请回复这个帖子并注明组织/个人信息来申请加入. 如果大家遇到了做得不错的教程或翻译项目 ...

  3. ApacheCN 翻译活动进度公告 2019.4.23

    Special Sponsors 我们是一个大型开源社区,旗下 QQ 群共 9000 余人,Github Star 数量超过 20k 个,在所有 Github 组织中排名前 200,网站日 uip 超 ...

  4. ApacheCN 翻译活动进度公告 2019.4.15

    Special Sponsors 我们是一个大型开源社区,旗下 QQ 群共 9000 余人,Github Star 数量超过 20k 个,在所有 Github 组织中排名前 200,网站日 uip 超 ...

  5. ApacheCN 翻译活动进度公告 2019.4.7

    我们是一个大型开源社区,旗下 QQ 群共 9000 余人,Github Star 数量超过 20k 个,网站日 uip 超过 4k,拥有 CSDN 博客专家和简书程序员优秀作者认证.我们组织公益性的翻 ...

  6. ApacheCN 翻译活动进度公告 2019.5.25

    Special Sponsors 我们组织了一个开源互助平台,方便开源组织和大 V 互相认识,互相帮助,整合资源.请回复这个帖子并注明组织/个人信息来申请加入. 如果大家遇到了做得不错的教程或翻译项目 ...

  7. ApacheCN 翻译活动进度公告 2019.5.11

    Special Sponsors 我们组织了一个开源互助平台,方便开源组织和大 V 互相认识,互相帮助,整合资源.请回复这个帖子并注明组织/个人信息来申请加入. 如果大家遇到了做得不错的教程或翻译项目 ...

  8. ApacheCN 翻译活动进度公告 2019.3.31

    我们是一个大型开源社区,旗下 QQ 群共 9000 余人,Github Star 数量超过 20k 个,网站日 uip 超过 4k,拥有 CSDN 博客专家和简书程序员优秀作者认证.我们组织公益性的翻 ...

  9. ApacheCN 翻译活动进度公告 2019.3.17

    我们是一个大型开源社区,旗下 QQ 群共 9000 余人,Github Star 数量超过 20k 个,网站日 uip 超过 4k,拥有 CSDN 博客专家和简书程序员优秀作者认证.我们组织公益性的翻 ...

最新文章

  1. 智能的源泉,大脑从何而来?
  2. 中国半导体最强助攻来了!十年免税、上下游一揽子扶持,明确「集成电路」为一级学科...
  3. java下拉框及响应函数_Java 下拉框JComboBox和单选按钮JRadioButton简单举例使用 | 学步园...
  4. MeshLab中进行点云配准
  5. Object-C---gt;Swift之(三)nil合并运算符、范围运算符
  6. ChartCtrl源码剖析之——CChartAxis类
  7. javascript学习系列(14):数组中的indexOf方法
  8. 给摩托车上个牌,却把自己干骨折了...
  9. 安卓开发——JNI——回调java中的方法
  10. NSURLSessionDownloadTask实现大文件下载
  11. linux 存储映射lun 给_linux 存储多路径聚合和映射
  12. 【Kafka】kafka的安装以及部署的详细描述
  13. 在线JSON转CSV格式文件工具
  14. 10截图时屏幕变大_刚刚才知道!华为手机还有7种截图方式,其中1种居然能隔空截图...
  15. python︱Python进程、线程、协程详解、运行性能、效率(tqdm)
  16. Sitadel:一款功能强大的Web应用扫描器
  17. Oracle Data Recovery Advisor(DRA) 数据恢复顾问
  18. python缠论代码_缠论dll(czsc - 缠中说禅技术分析工具)
  19. 工商银行网银支付问题 有网站想要安装以下加载项 来自Industrial and Commercial Bank of China Limited‘ 第三方支付机构上送网联跳转报文请求参数错误
  20. 【Git】Git国内官网下载地址、淘宝镜像下载地址以及卸载安装

热门文章

  1. LeetCode 1484. 克隆含随机指针的二叉树(哈希/递归)
  2. php判断全是中文正则,php判断是否为中文正则表达式大全
  3. python官方的扩展索引_Python列表操作与深浅拷贝(6)——列表索引、查询、修改、扩展...
  4. 冒泡排序和选择排序区别_你以为只是简单的排序?(一)
  5. c2c旅游springboot开源_重量级开源的商城和SpringBoot等项目看看有没有正好是你需要的...
  6. java的构造函数格式_来自模板化对象的Java 8函数构造函数
  7. mysql gui 有哪些_推荐五款较好的MySQLGUI工具
  8. php金字塔手动输入行数,[菜鸟学php] php版自定义函数实现金字塔
  9. 算法工程师怎样提升业务理解能力?
  10. ICML2020 | 一行代码就能实现的测试集上分技巧