首页 技术 正文
技术 2022年11月16日
0 收藏 855 点赞 4,340 浏览 1674 个字

传送门

题目背景

第十五届东方人气投票 音乐部门 106名

第四次国内不知道东方的人对东方原曲的投票调查 51名

回忆京都副歌我tm吹爆,东方文花帖我tm吹爆!

题目描述

射命丸文在取材中发现了一个好玩的东西,叫做组合数。

组合数的定义如下:从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从nnn个不同元素中取出m个元素的一个组合。所有组合的数量,就是组合数。

其中保证m≤,表示在n个元素中选出m个元素的组合数。

为了方便理解,举一个例子:在th16.5秘封噩梦日记的第三周目中,每一天的战斗都有4个角色两两组合出场,那么很显然就有C42=6C^2_4=6C42​=6种组合方式。

关于这方面的更详细解释,请看样例说明。

由于她对新事物都存在着好奇,因此她想要知道CnmC^m_nCnm​是多少。这对她来说是个很简单的事情,因此她看了一眼就秒了,因此她决定求出下列式子:

∑i=1n∑j=1mCji​,其中当i>j的时候,钦定Cji​为0

她也很快就算出来了,不过对自己的答案不是很充满信心,因此你决定帮助她。然而没事找事的她一下子算了q次对于不同的n,m的结果,因此这只能劳烦你了。由于你不打算真正地帮助她,你无需把答案对998244353取模,也无需对64123取模,只要告诉她对19260817取模之后的答案即可。

输入输出格式

输入格式:

第一行输入一个q,表示有q次询问。

第二行开始,一共q行,每行两个数字n,m,意思如题所示。

输出格式:

一共q行,对于每一个询问,都输出一个答案。

输入输出样例

输入样例#1:
复制

5
2 3
1 4
4 3
2 5
3 5

输出样例#1: 复制

10
10
11
35
50

说明

5239-回忆京都-洛谷3月赛gg祭

关于组合数的样例说明。

例如有蕾米莉亚 芙兰朵露 圣白莲 丰聪耳神子在这一天组合出场,会有六种情况:

1、蕾米莉亚x芙兰朵露 背德组\text{\color{white}背德组}背德组

2、丰聪耳神子x圣白莲 宗教组\text{\color{white}宗教组}宗教组

3、蕾米莉亚x丰聪耳神子

4、芙兰朵露x丰聪耳神子

5、蕾米莉亚x圣白莲

6、芙兰朵露x圣白莲

———————————————————————————————————

首先

我要吐槽一下这个“毒瘤”题目背景

我真的是看的一脸懵

(我才不会说我看到自闭)

我看在T2的面子上

我以为他很难很难

结果就是一个简简单单的前缀和

*********

生气

我dr怎么就那么傻啊啊啊啊

还以为是什么lucas定理

啊啊啊啊啊啊啊

(想把自己的脑袋拧下来当球踢了)

我jio的

我就是欠练和欠揍

(狠-

——————————————————————————————————–

用到二维前缀和

O(nm)预处理

O(1)查询

#include<cstdio>
using namespace std;
int c[][],sum[][];
int mod = ;
int n,m,q;
int main()
{
c[][] = c[][] = ;
for(int i = ;i <= ;i++)
{
c[i][] = ;
for(int j = ;j <= i;j++)
c[i][j] =(c[i - ][j] + c[i - ][j - ])% mod;
}
for(int i = ;i <= ;i++)
for(int j = ;j <= ;j++)
sum[i][j] =(sum[i-][j] + sum[i][j-] - sum[i-][j-] + c[i][j] + mod)%mod; scanf("%d",&q);
while(q--)
{
scanf("%d%d",&n,&m);
printf("%d\n",sum[m][n]);
}
return ;
}

还有一些情况就是在减去sum[i−1][j−1]sum[i-1][j-1]sum[i−1][j−1]的时候会减到负数,这个时候我们要加上模数,防止因为这个负数模负数出现负数之后,导致后面的结果全都混乱。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,489
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,904
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,737
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,490
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,128
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,291