C1. 组队活动 Small

Time Limit: 1000ms
Memory Limit: 131072KB

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

BNU ACM校队一共有名队员,从标号,现在名队员要组成若干支队伍来相互学习、共同进步,为了保证学习效率,每支队伍至多有名队员,你需要计算出一共有多少种不同的组队方案。两个组队方案被视为不同的,当且仅当存在至少一名队员在两种方案中有不同的队友。

Input

第一行是一个正整数,表示测试数据的组数,

对于每组测试数据,

输入只有一行,包含两个整数

Output

对于每组测试数据,

输出一行,包含一个整数,表示不同的组队方案的个数,由于方案数可能很大,请对取模后输出。

Sample Input

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             else25 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                 else47                 {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 }

C1. 组队活动 Small(BNUOJ)的更多相关文章

  1. BNUOJ 51279[组队活动 Large](cdq分治+FFT)

    传送门 大意:ACM校队一共有n名队员,从1到n标号,现在n名队员要组成若干支队伍,每支队伍至多有m名队员,求一共有多少种不同的组队方案.两个组队方案被视为不同的,当且仅当存在至少一名队员在两种方案中 ...

  2. 布客&#183;ApacheCN 翻译/校对/笔记整理活动进度公告 2020.1

    注意 请贡献者查看参与方式,然后直接在 ISSUE 中认领. 翻译/校对三个文档就可以申请当负责人,我们会把你拉进合伙人群.翻译/校对五个文档的贡献者,可以申请实习证明. 请私聊片刻(52981514 ...

  3. 软件project师的属性与发展

    工作近十年了.[软件project师] 一直是我职业 title 的中心词,仅仅是前面的修饰语在不断变化,从0基础.中级.高级到资深. 事实上 [软件project师] 是一个非常泛化的定义.工作现实 ...

  4. python--Excel模块xlwings

    安装:pip install xlwings 基本操作: xlwings的特色: xlwings能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改 可以和matplotlib以及p ...

  5. ApacheCN 人工智能知识树 v1.0

    贡献者:飞龙 版本:v1.0 最近总是有人问我,把 ApacheCN 这些资料看完一遍要用多长时间,如果你一本书一本书看的话,的确要用很长时间.但我觉得这是非常麻烦的,因为每本书的内容大部分是重复的, ...

  6. ApacheCN 编程/大数据/数据科学/人工智能学习资源 2019.12

    公告 我们的所有非技术内容和活动,从现在开始会使用 iBooker 这个名字. "开源互助联盟"已终止,我们对此表示抱歉和遗憾.除非特地邀请,我们不再推广他人的任何项目. 公众号自 ...

  7. 布客&#183;ApacheCN 编程/大数据/数据科学/人工智能学习资源 2020.2

    特约赞助商 公告 我们愿意普及区块链技术,但前提是互利互惠.我们有大量技术类学习资源,也有大量的人需要这些资源.如果能借助区块链技术存储和分发,我们就能将它们普及给我们的受众. 我们正在招募项目负责人 ...

  8. 布客&#183;ApacheCN 编程/大数据/数据科学/人工智能学习资源 2020.1

    公告 我们正在招募项目负责人,完成三次贡献可以申请,请联系片刻(529815144).几十个项目等你来申请和参与,不装逼的朋友,我们都不想认识. 薅资本主义羊毛的 CDNDrive 计划正式启动! 我 ...

  9. 布客&#183;ApacheCN 编程/大数据/数据科学/人工智能学习资源 2020.4

    公告 我们的机器学习群(915394271)正式改名为财务提升群,望悉知. 请关注我们的公众号"ApacheCN",回复"教程/路线/比赛/报告/技术书/课程/轻小说/漫 ...

随机推荐

  1. 2 — springboot的原理

    1.初步探索:第一个原理:依赖管理 发现:这里面存放着各种jar包 和 版本号 这也是:我们在前面第一个springboot项目创建中勾选了那个web,然后springboot就自动帮我们导入很多东西 ...

  2. OpenStack——云平台部署

    一.配置网络 准备:安装两台最小化的CentOS7.2的虚拟机,分别添加两张网卡,分别为仅主机模式和NAT模式,并且计算节点设置为4G运行内存,50G硬盘 1.控制节点--配置网络 控制节点第一个网卡 ...

  3. 重磅丨腾讯云开源业界首个 etcd 一站式治理平台 Kstone

    ​ Kstone 开源 在 CNCF 云原生基金会举办的2021年12月9日 KubeCon China大会上,腾讯云容器 TKE 团队发布了 Kstone etcd 治理平台开源项目. Kstone ...

  4. 如何通过 User-Agent 识别百度蜘蛛

    如果有大量的百度蜘蛛抓取网站就需要注意了:有可能是其他爬虫伪造百度蜘蛛恶意抓取网站. 如果遇到这种情况,这时候就需要查看日志来确定是不是真正的百度蜘蛛(baidu spider).搜索引擎蜘蛛.用户访 ...

  5. 100个Shell脚本——【脚本9】统计ip

    [脚本9]统计ip 有一个日志文件,日志片段:如下: 112.111.12.248 – [25/Sep/2013:16:08:31 +0800]formula-x.haotui.com "/ ...

  6. Java——数组的定义与使用

    数组的定义与使用 1.数组的基本概念 (1)数组的动态初始化: 数组首先先开辟内存空间,而后再使用索引进行内容的设置,这种定义数组的方式称为动态初始化 数组是引用数据类型,存在有内存分配问题.在使用前 ...

  7. jenkins之分布式

    在jenkins的slave节点安装jdk(注:slave节点不需要安装jenkins) #:安装jdk环境 root@ubuntu:/usr/local/src# ls jdk-8u191-linu ...

  8. linux如何安装缺失依赖

    这里要提到一个网站https://pkgs.org/,他是linux系统的一个相关网站,里面都是相关内容 Warning: RPMDB altered outside of yum. ** Found ...

  9. zookeeper 异常 :stat is not executed because it is not in the whitelist. Connection closed b

    1 .问题 1.启动 zookeeper 后 用指令:  telnet 127.0.0.1 2181 连接 提示输入指令 :stat 后报错,然后关闭连接 2.问题解决: 修改启动指令 zkServe ...

  10. 【软件安装与配置】【Java】Eclipse For Java EE的安装

    Eclipse For Java EE的安装 哔哩哔哩:萌狼蓝天 微信公众号:萌狼蓝天 博客:萌狼工作室 00 提前说明 因为编程涉及的环境配置资源比较多,所以我专门创建了一个文件夹(Developm ...