题目连接: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. Yii2 基于RESTful api 坑 访问会把控制器名称变为复数

    'urlManager' => [ 'class' => 'yii\web\UrlManager', 'enablePrettyUrl' => true, 'enableStrict ...

  2. C# 从零开始 vol.1

    说好的java只能先坑了,毕竟计划赶不上变化,以下是 c# 基础部分. 1:变量,方法的命名方式 目的就是一眼看到实例名 方法名 就知道该变量是做什么的. 主流的命名方式有驼峰命名规则,pascal命 ...

  3. jfianl返回自定义的404页面

    public class MyErrorRenderFactory implements IErrorRenderFactory{ public Render getRender(int errorC ...

  4. 为Textview里面的ImageSpan添加点击响应事件

    对于图文混排的TextView,用户在浏览到里面的图片的时候,往往有点击图片preview大图或者preview之后保存图片的需求,这就需要为Textview里面的ImageSpan设置点击响应事件. ...

  5. C#读取Excel的其中一种方式OleDb读取(100万条)--快速大量插入SQL中

    主要运用表类型 Create table BulkTestTable( Id nvarchar(), UserName nvarchar(), Pwd nvarchar() ) Go CREATE T ...

  6. 第一次使用cnblogs

    第一次使用!!!!!留名纪念下!!!!!!!!!!!

  7. GPS定位开发

    1.概述 在iOS开发中,要想加入地图和定位功能这2大功能,必须基于2个框架进行开发 (1)Map Kit :用于地图展示 (2)Core Location :用于地理定位 2个热门专业术语: LBS ...

  8. Idea1.5使用Maven搭建Apache Spark1.6源码阅读环境

    1.插件安装,在Idea界面依次:File->settings->plugins,安装Maven 2.下载Spark1.6.2源码,这个在GitHub上下载,具体流程自己百度,很简单 3. ...

  9. Android(对话框)

    一.消息对话框 所谓的消息对话框,就是说当你点击按钮弹框,它会弹出一个消息提示你,消息对话框有相应的确定.取消.其他按钮,比如下方: 代码: //消息提示框 public void testOne(V ...

  10. HDU 3127 WHUgirls

    二维完全背包,理解似乎还不够全面,过几天回来再看看这题. #include<cstdio> #include<cstring> #include<cmath> #i ...