[CSP-S模拟测试]:排列组合(数学 or 找规律)
题目描述
$T$组数据,每次给定$n$,请求出下式的值,对$10^9+7$取模:
$$C_n^0\times C_n^0+C_n^1\times C_n^1+C_n^2\times C_n^2+...+C_n^n\times C_n^n$$
输入格式
第一行一个整数$T$,表示数据组数。
接下来$T$行,每一行包含一个整数$n$,含义如题所示。
输出格式
输出$T$行,每行包含一个整数,表示对$10^9+7$取模后的答案。
样例
样例输入:
2
1
2
样例输出:
2
6
数据范围与提示
对于$30\%$的数据,$T\leqslant 500,n\leqslant 10,000$。
对于$100\%$的数据,$T\leqslant 100,000,n\leqslant 1,000,000$。
题解
打表找规律可以发现答案其实就是$C_{2n}^n$,那么我们现在来讲一下这到底是为什么。
先来讲个故事:
我家门前有两棵树,一棵是枣树,另一棵也是枣树。——鲁迅
我家门前有两棵枣树,一棵枣树上有$n$颗枣,另一棵枣树上也有$n$颗枣。——$HEOI-$动动
麻麻让我在这两棵枣树上摘$n$棵枣,有多少种方案数呢?
我们假设在第一棵树上摘$i$颗枣,那么另一棵树上要摘$n-i$颗枣,方案数就是:$C_n^i\times C_n^{n-i}$,那么总的方案数就是$\sum \limits_{i=0}^n C_n^i\times C_n^{n-i}$。
然而,枣是一样的,树也是一样的,那么方案数也可以写成:$C_{2n}^n$。
也就是说$C_{2n}^n=\sum \limits_{i=0}^n C_n^i\times C_n^{n-i}$。
我们还知道$C_n^i=C_n{n-i}$,于是上式就变成了:$C_{2n}^n=\sum \limits_{i=0}^n {(C_n^i)}^2$。
那么$C_n^0\times C_n^0+C_n^1\times C_n^1+C_n^2\times C_n^2+...+C_n^n\times C_n^n=C_{2n}^n$。
故事讲完啦,小朋友们都懂了嘛~
时间复杂度:$\Theta(T\times \log_{mod}n)$。
期望得分:$100$分。
实际得分:$100$分。
代码时刻
#include<bits/stdc++.h>
using namespace std;
const int mod=1000000007;
int n;
long long jc[2000001],inv[2000001];
long long qpow(long long x,long long y)
{
long long res=1;
while(y)
{
if(y%2)res=res*x%mod;
y>>=1;
x=x*x%mod;
}
return res;
}
void pre_work()
{
jc[0]=1;
for(long long i=1;i<=2000000;i++)
jc[i]=jc[i-1]*i%mod;
inv[2000000]=qpow(jc[2000000],1000000005)%mod;
for(long long i=2000000;i>0;i--)
inv[i-1]=inv[i]*i%mod;
}
long long get_C(int x,int y){return jc[x]*inv[y]%mod*inv[x-y]%mod;}
int lucas(int x,int y)
{
if(!y)return 1;
return get_C(x%mod,y%mod)*lucas(x/mod,y/mod)%mod;
}
int main()
{
pre_work();
int T;scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
printf("%d\n",lucas(n<<1,n));
}
return 0;
}
rp++
[CSP-S模拟测试]:排列组合(数学 or 找规律)的更多相关文章
- [CSP-S模拟测试]:Silhouette(数学)
题目描述 有一个$n\times n$的网格,在每个格子上堆叠了一些边长为$1$的立方体. 现在给出这个三维几何体的正视图和左视图,求有多少种与之符合的堆叠立方体的方案.两种方案被认为是不同的,当且仅 ...
- [CSP-S模拟测试]:不等式(数学)
题目描述 小$z$热衷于数学.今天数学课的内容是解不等式:$L\leqslant S\times x\leqslant R$.小$z$心想这也太简单了,不禁陷入了深深的思考:假如已知$L,R,S,M$ ...
- [CSP-S模拟测试]:旅行(数学+线段树)
题目传送门(内部题12) 输入格式 第一行,一个整数$n$,代表树的点数.第二行,$n$个整数,第$i$个整数是$B_i$,描述排列$B$.接下来$n−1$行,每行两个整数$u,v$,描述一条树边$( ...
- [CSP-S模拟测试]:A(数学)
题目传送门(内部题44) 输入格式 一行四个整数,分别表示$S,T,a,b$. 输出格式 输出最小步数,数据保证有解. 样例 样例输入: 10 28 4 2 样例输出: 数据范围与提示 样例解释: 先 ...
- [CSP-S模拟测试]:装饰(数学)
题目传送门(内部题147) 输入格式 每个测试点第一行一个正整数$T$,表示该测试点内的数据组数. 接下来$T$行,每行三个非负整数$a,b,c$,含义如题目中所示. 输出格式 对每组数据输出一行一个 ...
- [CSP-S模拟测试]:小W的魔术(数学 or 找规律)
题目传送门(内部题130) 输入格式 第一行一个整数$n$,表示字符串的长度. 第二行一个只包含小写字母的字符串$s$. 输出格式 一行一个整数表示答案对$998244353$取模后的结果. 样例 样 ...
- [CSP-S模拟测试]:最大值(数学+线段树)
题目背景 $Maxtir$最喜欢最大值. 题目传送门(内部题128) 输入格式 第$1$行输入四个正整数$n,m,q$. 第$2$至$n+1$行中,第$i+1$行输入魔法晶石$i$的三种属性$(x_i ...
- [CSP-S模拟测试]:小盆友的游戏(数学 or 找规律)
题目传送门(内部题110) 输入格式 第一行一个整数$N$,表示小盆友的个数. 第二行$N$个整数$A_i$,如果$A_i=-1$表示$i$目前是自由身,否则$i$是$A_i$的跟班. 输出格式 一个 ...
- [CSP-S模拟测试]:求和(数学)
题目传送门(内部题107) 输入格式 一行五个正整数$x_1,y_1,x_2,y_2,m$ 输出格式 输出一个整数,为所求的答案对$m$取模后的结果. 样例 样例输入: 2 1 5 3 10007 样 ...
随机推荐
- 一、Zabbix-学习列表
近期本人在求职,面试了几家,觉得监控是一个很重要的事情,所以决定深入学习一下监控.目前的监控系统有很多,Zabbix是目前应用最广泛的开源监控之一,功能比较完善,所以决定学习一下. 目前将学习zabb ...
- ubuntu使用iptables 持久化
iptables 持久化 安装持久化工具apt-get install iptables-persistent Ubuntu 16.04 调用语法netfilter-persistent savene ...
- c++ 取整:四舍五入 向上取整 向下取整
对于数据的取整是经常需要考虑的 现在总结如下 #include<iostream> #include<cmath> using namespace std; int main( ...
- [Git] 024 log 命令的补充
0. 回顾 [Git] 009 逆转未来 的 "1" 画张导图 其实 --oneline 前有个"关键字参数" "--pretty" --o ...
- Hibernate-Criteria学习笔记
hibernate_jpa注解 目前最新版的hibernate,5.2,底层整合了jpa,用idea的hibernate工具生成实体时,实体包含了注解的配置文件,缺一不可 如,用户类实体,生成之后是这 ...
- oracle数据库启动报错,不能启动ASM实例
数据库rac启动时报错,日志例如以下,后来使用 Sat Jun 7 06:02:11 2014 GATHER_STATS_JOB encountered errors. Check the tra ...
- “程序包com.sun.tools.javac.util不存在” 问题解决
最近工作中在编译打包项目的时候遇到了如标题所示的问题,报这个错误的类是 com.sun.tools.javac.util.Pair.问题很诡异,在Idea可以导入此类,项目启动运行也很正常,但就是在打 ...
- 计算机系统结构总结_Scoreboard and Tomasulo
Textbook:<计算机组成与设计——硬件/软件接口> HI<计算机体系结构——量化研究方法> QR 超标量 前面讲过超标量的概念.超标量的目的就是实现指 ...
- 10年前文章_UC3A/B 开发环境设置
大部分设置和 Z32U 交叉编译环境的配置 类似 Windows 环境 步骤二: 安装 toolchain 和mkII lite V2 的驱动 安装运行 avr32-gnu-toolchain-2.0 ...
- 通过METAMASK调试和发布智能合约指南(转载)
2017-12-07 芯链团队 小明微思考 原文地址:https://mp.weixin.qq.com/s?__biz=MzA4Mzk2MzUzNg==&mid=2651223347& ...