http://www.lydsy.com/JudgeOnline/problem.php?id=1856

卡特兰数

从(1,1)走到(n,m),不能走y=x 上方的点,求方案数

从(1,1)走到(n,m)总方案是C(n,m)

不合法的路径一定会经过y=x+1

从第一次碰到y=x+1之后的路径沿y=x+1对称上去,就是一条从(1,1)走到(m-1,n+1)的合法路径

一条从(1,1)走到(m-1,n+1)的合法路径一定会对应着一条从(1,1)走到(n,m)的不合法路径

所以答案为C(n+m,m)-C(n+m,m-1)

#include<cstdio>
#include<iostream> using namespace std; const int mod=; long long Pow(long long a,long long b)
{
long long res=;
for(;b;a=a*a%mod,b>>=)
if(b&) res=res*a%mod;
return res;
} int main()
{
int N,M;
scanf("%d%d",&N,&M);
long long tmp=;
long long m1,n1,m,n,nm;
for(int i=;i<=M-;++i) tmp=tmp*i%mod;
m1=Pow(tmp,mod-);
tmp=tmp*M%mod;
m=Pow(tmp,mod-);
for(int i=M+;i<=N;++i) tmp=tmp*i%mod;
n=Pow(tmp,mod-);
tmp=tmp*(N+)%mod;
n1=Pow(tmp,mod-);
for(int i=N+;i<=N+M;++i) tmp=tmp*i%mod;
nm=tmp;
cout<<(nm*n%mod*m%mod-nm*m1%mod*n1%mod+mod)%mod;
}

bzoj千题计划299:bzoj1856: [Scoi2010]字符串的更多相关文章

  1. bzoj千题计划319:bzoj2865: 字符串识别(后缀自动机 + 线段树)

    https://www.lydsy.com/JudgeOnline/problem.php?id=2865 同上一篇博客 就是卡卡空间,数组改成map #include<map> #inc ...

  2. bzoj千题计划300:bzoj4823: [Cqoi2017]老C的方块

    http://www.lydsy.com/JudgeOnline/problem.php?id=4823 讨厌的形状就是四联通图 且左右各连一个方块 那么破坏所有满足条件的四联通就好了 按上图方式染色 ...

  3. bzoj千题计划177:bzoj1858: [Scoi2010]序列操作

    http://www.lydsy.com/JudgeOnline/problem.php?id=1858 2018 自己写的第1题,一遍过 ^_^ 元旦快乐 #include<cstdio> ...

  4. bzoj千题计划301:bzoj4259: 残缺的字符串

    https://www.lydsy.com/JudgeOnline/problem.php?id=4259 令通配符=0 f[i+m-1]=Σ (a[i+j]-b[m-1-j])^2 * a[i+j] ...

  5. bzoj千题计划196:bzoj4826: [Hnoi2017]影魔

    http://www.lydsy.com/JudgeOnline/problem.php?id=4826 吐槽一下bzoj这道题的排版是真丑... 我还是粘洛谷的题面吧... 提供p1的攻击力:i,j ...

  6. bzoj千题计划250:bzoj3670: [Noi2014]动物园

    http://www.lydsy.com/JudgeOnline/problem.php?id=3670 法一:KMP+st表 抽离nxt数组,构成一棵树 若nxt[i]=j,则i作为j的子节点 那么 ...

  7. bzoj千题计划207:bzoj1879: [Sdoi2009]Bill的挑战

    http://www.lydsy.com/JudgeOnline/problem.php?id=1879 f[i][j] 表示匹配了i个字符,匹配字符串的状态为j的方案数 枚举下一个字符是什么 计算加 ...

  8. bzoj千题计划185:bzoj1260: [CQOI2007]涂色paint

    http://www.lydsy.com/JudgeOnline/problem.php?id=1260 区间DP模型 dp[l][r] 表示涂完区间[l,r]所需的最少次数 从小到大们枚举区间[l, ...

  9. bzoj千题计划280:bzoj4592: [Shoi2015]脑洞治疗仪

    http://www.lydsy.com/JudgeOnline/problem.php?id=4592 注意操作1 先挖再补,就是补的范围可以包含挖的范围 SHOI2015 的题 略水啊(逃) #i ...

随机推荐

  1. What is the difference between apache tomcat deployer and core version? - Stack Overflow

    java - What is the difference between apache tomcat deployer and core version? - Stack Overflowhttps ...

  2. 测试 多线程 实现 callable 带返回值

    package threadTest; import java.util.ArrayList; import java.util.Date; import java.util.concurrent.C ...

  3. Vue 初识Vue

    <!DOCTYPE html><html lang="zh-cn"><head> <meta charset="utf-8&qu ...

  4. sql优化问题笔记(mysql)

    相信大家平时面试都会遇到这个问题:平时你都是怎么对sql进行调优的? 此篇文章相当于一个随便笔记,根据朋友们的聊天记录整理而成,如有不对,请指正! 注意:这篇是以mysql整理的 查看sql计划分析 ...

  5. js Location

    window.location用來返回頁面的地址,并把頁面重定向新的頁面: location.pathname:返回當前的頁面地址和文件名 location.hostname:主機名 location ...

  6. JUC-Condition线程通信

    1,Codition接口描述了可能会与锁有关联的条件变量.这些变量在用法上与使用Object.wait访问的隐式监视器类似. 但提供了更强大的功能,需要指出的是,单个lock可能与多个conditio ...

  7. Luogu4782 【模板】2-SAT 问题(2-SAT)

    模板.注意若x=y不一定是废话,x=0或x=0表示x必须为0.以及数组开2n. #include<iostream> #include<cstdio> #include< ...

  8. MT【9】绝对值二次函数

    解答: 评:容易用绝对值不等式证明当$x\in[1,5]$时$|x^2+px+q|\ge2$

  9. Leetcode 125.验证回文串 By Python

    思路 显然一个字符串不止包括字母和数字字符,所以我们可以先提取出来我们要进行比较的字符 还有一个问题是,字母是分大小写的,我们要统一大写或者统一小写,就是规范化 代码 class Solution(o ...

  10. 自学Zabbix2.5-客户端agentd安装过程

    点击返回:自学Zabbix之路 ....