C1. 组队活动 Small(BNUOJ)

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

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 }
时间: 2024-10-13 18:53:08

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

软件project师的属性与发展

工作近十年了.[软件project师] 一直是我职业 title 的中心词,仅仅是前面的修饰语在不断变化,从0基础.中级.高级到资深. 事实上 [软件project师] 是一个非常泛化的定义.工作现实中软件project师是被详细分工的.形成了详细定义的project师. 定义 软件project师是以下这些详细project师的整体概括: 开发project师 測试project师 UIproject师(又称设计师) 产品project师(尽管如今多称产品经理,但实际的工作内容更偏向proje

软件工程师的属性与发展

工作近十年了,[软件工程师] 一直是我职业 title 的中心词,只是前面的修饰语在不断变化,从初级.中级.高级到资深. 其实 [软件工程师] 是一个很泛化的定义,工作现实中软件工程师是被具体分工的,形成了具体定义的工程师. 定义 软件工程师是下面这些具体工程师的总体概括: 开发工程师 测试工程师 UI工程师(又称设计师) 产品工程师(虽然现在多称产品经理,但实际的工作内容更偏向工程师性质) 运维工程师 也许还有些其他分工的具体工程师定义,这里就不一一列举了. 我只是偶然发现所有这些具体分工的工

广州组队线下活动

必须是广州本地的,面对面的交流更加好: 1)可以交流技术,相互学习,共同进步:2)共享信息与资源: 愿意者,可站内短信. 版权声明:本文为博主原创文章,未经博主允许不得转载.

[家里蹲大学数学杂志]第054期图像分割中的无边缘活动轮廓模型

$\bf 摘要$: 本文给出了王大凯等编的<图像处理中的偏微分方程方法>第 4.4 节的详细论述. $\bf 关键词$: 图像分割; 活动轮廓模型; matlab 编程 1 模型的建立 在图像中, 对象与背景的区别有时表现为平均灰度的明显不同. 由于这类图像既没有明显的边缘 ($\sev{\n I}$ 大), 也缺乏明显的纹理 (texture, 灰度变化有一定的规律, 并形成一定的 patten), 故测地线活动轮廓 (geodesic active contour, GAC, 或 snak

【创新培育项目】为什么要组队參加比赛?及如何寻找一个合适的选题?

眼下学校正在进行创新项目培育,截止日期为5月30日,QQ群(324168309).在和学生接触中发现,学生中存在一些认识方面的误区,主要表现例如以下. (1)这是高年级学生的事. (2)这是班上其它同学的事. (3)我没有创新想法,算了. (4)想參加,问过几个同学组队都没有兴趣,算了. (5)这个想法已经有人做过,唉,算了. (6)团队组建好了,一看预算要3000元,太贵算了. -- 从上面比較典型的问题能够看出,同学们主要纠结在 能力.团队.资金 三个方面.如同创业一样,主要三大限制因素各自

组队APP功能点定点NABCD分析

团队项目名称:组队APP 分析的功能点: 用户问题: 需要及时地与队友进行沟通交流 解决方法: 构建一个聊天交流模块,允许同组内的成员随时地进行沟通交流 Benefit: 可以及时地与队友进行沟通交流 通过交流可以让加入后的成员不感到生疏感. competitor: 小D活动APP Delivery: 向周围的同学介绍我们的软件的特点与其他类似产品独特之处 制作快速上手文档,让用户快速上手

团队合作之组队app的n(need)

市场需求是一个app之所以存在的根本,经过我们小组的仔细思考以及上周末的调查问卷的统计,我们得出了以下几点用户需求(痛点): No.1 用户痛苦:找不到志同道合的队友去参加一些活动.  根据我们调查问卷中的问题:你是否会出现想出去玩或想参加活动但是找不到同伴的情况? 根据问卷统计有大约2/3的人有这样的烦恼. No.2 用户痛苦:想出去玩,但是制定不出详细的计划.会疏漏一些细节.  根据我们的问卷调查中的问题:想出去玩或参加活动的是后是否制定不出详细计划? 根据问卷统计大约也是有2/3的人有这样

组队项目

此次组队完成“爱吖”音乐播放器这个项目,在团队中我负责的主要任务是收集,整理,修订,完善项目需求文档.需求文档的主要内容如下: 1.项目准备 1.1项目的目的和范围 1.1.1项目开发背景 影音播放是智能手机的中的重要组成部分.事实上,无论是iOS还是android中的原生影音播放器都不太智能.这些系统自带的播放器,基本上只具备基础的播放功能,根本满足不了用户对影音播放的需求.因此,智能影音播放软件应运而生. 一款专业的音乐播放软件是移动智能设备中必不可少的要素,几乎市场上所有的移动智能设备都拥

【创新培育项目】为什么要组队参加比赛?及怎样寻找一个合适的选题?

目前学校正在进行创新项目培育,截止日期为5月30日,QQ群(324168309).在和学生接触中发现,学生中存在一些认识方面的误区,主要表现如下. (1)这是高年级学生的事. (2)这是班上其他同学的事. (3)我没有创新想法,算了. (4)想参加,问过几个同学组队都没有兴趣,算了. (5)这个想法已经有人做过,唉,算了. (6)团队组建好了,一看预算要3000元,太贵算了. -- 从上面比较典型的问题可以看出,同学们主要纠结在 能力.团队.资金 三个方面.如同创业一样,主要三大限制因素分别是