题意:给你4个点A(0,0),B(p,0),C(m,q),D(m,n)问:A-->D&& B-->C在不相交的情况下有多少种方法

此题在比赛中题目理解错了,英语水平还是太弱,比了几场都没提高,唉

算了还是看题解吧:解决此题就是找出A--D&&B-->C的所有情况再减去    A-->C&&B-->D(即路径相交的情况)

就是本题要求的答案

公式:C(m+n,n)*C(m-p+q,q) - C(m+q,q)*C(m+n-p,n) 

本题还会涉及到(A/B)%C的情况,运用扩展欧几里得求乘法逆元得到结果

由于写过几遍了此公式,不再细讲

代码:

#include<stdio.h>
#include<math.h>
#include<algorithm>
using namespace std;
typedef long long LL;
const LL mod = 100000007;
long long a[200005];
LL m,n,p,q,x,y;
void init()
{a[0] = 1;for(LL i = 1;i <= 200001;i++)a[i] = ( a[i-1] * i )%mod;
}
void exgcd(LL c,LL b)
{if(b == 0){x = 1,y = 0;}else{exgcd(b,c%b);LL tmp = x;x = y;y = tmp - c/b*y;}
}
void solve()
{LL res = (((a[m+n] * a[m-p+q])%mod - (a[m+q]*a[m+n-p])%mod)%mod + mod )%mod;LL ret = ((a[n]*a[m])%mod)*((a[m-p]*a[q])%mod)%mod;exgcd(ret,mod);x = (x+mod)%mod;printf("%lld\n",(x*res%mod));
}
int main()
{init();while(~scanf("%lld%lld%lld%lld",&m,&n,&p,&q)){solve();}}

zoj-3624(Count Path Pair)组合数+乘法逆元相关推荐

  1. (组合数求模=乘法逆元+快速幂) Problem Makes Problem

    题目: As I am fond of making easier problems, I discovered a problem. Actually, the problem is 'how ca ...

  2. 【数论】【组合数】【快速幂】【乘法逆元】洛谷 P2265 路边的水沟

    从左上角到右下角,共经过n+m个节点,从其中选择n各节点向右(或者m各节点向下),所以答案就是C(n+m,n)或者C(n+m,m),组合数暴力算即可,但是要取模,所以用了乘法逆元. 1 #includ ...

  3. AcWing 1309. 车的放置 (加法原理、乘法原理、组合数排列数的求法、乘法逆元)

    1309. 车的放置 分步做:先放上面的矩形,后考虑下面的矩形. 分类做:依次求出,上面放置 0 . 1 . 2 . - - . k 0.1.2.--.k 0.1.2.--.k个车的,而下面放置 k ...

  4. luogu P2613 【模板】有理数取余(费马小定理,乘法逆元)

    整理的算法模板合集: ACM模板 目录 题目传送门 题目传送门 相当于是一个高精的费马小定理求乘法逆元.虽然数据达到了101000110^{10001}1010001,但是我们可以使用快读然后一直模m ...

  5. ACM竞赛、数论内容常用的定理(求解(a/b)%c,乘法逆元,费马小定理)

    如果b与c互素,则(a/b)%c=a*b^((c)-1)%c其中是欧拉函数.或者(a/b)%c=a*b^(c-2)%c 如果b与c不互素,则(a/b)%c=(a%bc)/b 对于b与c互素和不互素都有 ...

  6. 扩展欧几里得算法、乘法逆元与中国剩余定理

    文章目录 前言 定义.定理和部分证明 整除 定义 定理 定理的证明 同余 定义 同余的性质 同余的运算律 运算律的证明 扩展欧几里得算法 代码模板 算法详解 乘法逆元 求解逆元 乘法逆元的作用 中国剩 ...

  7. java乘法逆元与除法取模,关于数论乘法逆元及相关知识点

    在求解a/b%m时,可以转化为(a%(b*m))/b,转化过程如下 令k = (a/b)/m(向下取整), x = (a/b)%m; a/b = k*m + x (x < m); a = k*b ...

  8. java乘法逆元与除法取模,逆元

    题目描述 题目描述 求关于x的同余方程ax≡1(mod b)的最小正整数解. 输入格式 每组输入数据只有一行,包含两个正整数a, b,用一个空格隔开. 数据规模: 对于40%的数据,2≤b≤1,000 ...

  9. P5431 【模板】乘法逆元2(小学数学题,毒瘤鱼,卡常之王yyds)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P5431 [模板]乘法逆元2 题目传送门 题目大意: 给定 nnn 个正整数 aia_iai​ ,求 ...

最新文章

  1. 无root权限新建git仓库进行多人协同工作
  2. Java学习-----单例模式
  3. iOS 视频启动界面
  4. ssh闲置一段时间自动登出问题的解决
  5. 虚拟机拷贝出来_NETAPP存储虚拟机数据恢复案例
  6. python如何控制程序_Python 控制程式执行流程
  7. 使用SDL打造游戏世界之入门篇 - 2
  8. 处理ajax表单验证结果,使用 jQuery Form 插件完成带数据验证的 Ajax 表单
  9. MYSQL 引擎的情况
  10. 翻译: 自动驾驶汽车技术:自动驾驶汽车如何工作?
  11. 人工智能数据集文本处理Onehot/TF/TFIDF矩阵的生成
  12. 2020年9月各城市程序员工资统计
  13. 【Python】爬取贝壳网深圳二手房数据
  14. ENVI图像处理(6):NDVI和植被指数
  15. python程序画吉他和弦
  16. url中的20%、22%、26%、7B%、%7D、28%、29%怎么解析还原成真实的字符
  17. 书法拓片matlab,拓墨书法作品(拓片)的具体操作方法和步骤?
  18. 将bbox注释信息绘制到图片上
  19. 国际化复数形式的支持与pygettext的补丁
  20. C语言之流水线作业问题

热门文章

  1. 神策数据招募优秀的解决方案销售和售前
  2. 中原银行张本晨:中原银行数字化营销体系建设实践
  3. 月营收同比 10 倍增长,神策分析 1.8 推出英文版
  4. 掌握这些PPT技巧,让你的工作效率提高10倍
  5. oracle10g只导出某个用户所拥有的数据库表
  6. iftop是一个很好用的实时流量监测程序,跟使用iftop查看linux连接进程占用的实时流量...
  7. [程序员面试题精选100题]19.反转链表
  8. 2503 常用格式验证
  9. S3c2410_SDIO_调试笔记二
  10. ABAP语言常用的系统字段及函数