题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4828

题意:中文,不解释

题解:实际就是一个卡特兰递推: Catalan(n+1)= Catalan(n)*(4*n+2)/(n+2)(mod M),求的时候要用逆元,这里我用筛法求逆元,用空间换时间,快速幂AC要用800+ms,筛法逆元只需要200+ms。

 #include<cstdio>
int maxn=,mod=,i;
long long f[maxn],inv[maxn]={,};
void init(){
for(i=;i<maxn-;i++)inv[i]=inv[mod%i]*(mod-mod/i)%mod;//筛法求逆元
for(i=,f[]=;i<maxn-;i++)f[i]=(((f[i-]*(*i-))%mod)*inv[i+])%mod;
}
int main(){
init();
int t,n,ic=;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
printf("Case #%d:\n%lld\n",ic++,f[n]);
}
return ;
}

hdu_4828_Grids(卡特兰数+逆元)的更多相关文章

  1. hdu 5184 类卡特兰数+逆元

    BC # 32 1003 题意:定义了括号的合法排列方式,给出一个排列的前一段,问能组成多少种合法的排列. 这道题和鹏神研究卡特兰数的推导和在这题中的结论式的推导: 首先就是如何理解从题意演变到卡特兰 ...

  2. HDU 4828 (卡特兰数+逆元)

    HDU 4828 Grids 思路:能够转化为卡特兰数,先把前n个人标为0,后n个人标为1.然后去全排列,全排列的数列,假设每一个1的前面相应的0大于等于1,那么就是满足的序列.假设把0看成入栈,1看 ...

  3. hdu 5673 Robot 卡特兰数+逆元

    Robot Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Problem D ...

  4. hdu 4828 Grids 卡特兰数+逆元

    Grids Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others) Problem D ...

  5. Bzoj 1856: [Scoi2010]字符串 卡特兰数,乘法逆元,组合数,数论

    1856: [Scoi2010]字符串 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1194  Solved: 651[Submit][Status][ ...

  6. HDU 4828 Grids(卡特兰数+乘法逆元)

    首先我按着我的理解说一下它为什么是卡特兰数,首先卡特兰数有一个很典型的应用就是求1~N个自然数出栈情况的种类数.而这里正好就对应了这种情况.我们要满足题目中给的条件,数字应该是从小到大放置的,1肯定在 ...

  7. 牛客网 牛客小白月赛1 I.あなたの蛙が帰っています-卡特兰数,组合数阶乘逆元快速幂

    I.あなたの蛙が帰っています   链接:https://www.nowcoder.com/acm/contest/85/I来源:牛客网     这个题有点意思,是卡特兰数,自行百度就可以.卡特兰数用处 ...

  8. HDU-3240(卡特兰数+分解质因数后求逆元)

    卡特兰数相关公式 : \(H_n = {C_{2n}^n \over n+1)}\) \(H_n = {(4n-2)\over n+1}\times H_{n-1}\) \(H_n = C_{2n}^ ...

  9. hdu5673 Robot 卡特兰数+组合数学+线性筛逆元

    Robot Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

随机推荐

  1. mysql修改密码Your password does not satisfy the current policy requirements

    出现这个问题的原因是:密码过于简单.刚安装的mysql的密码默认强度是最高的,如果想要设置简单的密码就要修改validate_password_policy的值, validate_password_ ...

  2. Linux 朝花夕拾

    .bash_profile和.bashrc .bashrc要保存个人的一些个性化设置,如命令别名.路径等. 每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc ...

  3. sql 将某列转换成一个字符串 for xml path用法

    declare @test table( name varchar(10)) insert into @test values('a') insert into @test values('b') i ...

  4. java.net.ConnectException connect refured

    原因:tomcat 连接拒绝:tomcat没有完全重启 只是部分重启 解决方案: 连接tomcat服务 命令:1:ps -ef|grep java : 2:kill -9 21060 3:查看tomc ...

  5. Win7和Ubuntu下mysql 安装配置

    Windows下安装 下载对应版本的mysql安装包安装,如果安装目录为 C:\Program Files\MySQL\MySQL Server 5.6 增加环境变量 MYSQL_HOME=C:\Pr ...

  6. python之~ 序列化与反序列化

    sy1.proto文件 syntax = "proto2"; message stuff { required int32 stuff_ID = ; required ; opti ...

  7. c# windows服务 一个项目安装多个服务

    创建windows服务就不讲解了,其它大神写太多了.这里只写一个项目安装多个服务的教程.如:http://www.cnblogs.com/zzgblog/p/4595839.html 首先按下图创建多 ...

  8. CSS兼容的一些问题

    DIV+CSS网页布局这是一种趋势,我也开始顺应这股趋势了,不过在使用DIV+CSS网站设计的时候,应该注意css样式兼容不同浏览器问题,特别是对完全使用DIV+CSS设计的网页,就应该更注意IE6 ...

  9. Windows中 RabbitMQ安装与环境变量配置

    RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议.1:安装RabbitMQ需要先安装Erlang语言开发包.下载地址 ht ...

  10. Java知识补充

    1.SUN,为standford university network 2.java的标志位咖啡,java本意为南美的一种咖啡.因为oak已被注册 3.JDK为java se development ...