Lucas小记
组合数学全忘了
记笔记记笔记
做个简单题
代码 from bzoj4403
#include <stdio.h>
#define p 1000003
typedef long long ll;
ll fac[p], inv[p];
ll C(ll x, ll y) {
if(x < y) return ;
return fac[x] * inv[y] % p * inv[x - y] % p;
}
ll lucas(ll x, ll y) {
ll ret = ;
while(x && y) {
ret = (ret * C(x % p, y % p)) % p;
x /= p, y /= p;
}
return ret;
}
int main() {
int t, n, l, r, i;
fac[] = , inv[] = inv[] = ;
for(i = ;i < p;i ++) inv[i] = inv[p % i] * (p - p / i) % p;
for(i = ;i < p;i ++) inv[i] = inv[i - ] * inv[i] % p;
for(i = ;i < p;i ++) fac[i] = fac[i - ] * i % p;
for(scanf("%d", &t);t --;) {
scanf("%d %d %d", &n, &l, &r), r -= l - ;
printf("%lld\n", (lucas(n + r, r) + p - ) % p);
}
return ;
}
1. nm大p小用lucas
2.p固定,可以预处理
可以选择只预处理fac前缀,O(logn)求组合数
也可以同时预处理inv前缀,O(1)求组合数
3.inv[0] = inv[1] = 1
inv[i] = inv[p % i] * (p - p / i) % p
Lucas小记的更多相关文章
- Lucas定理学习小记
(1)Lucas定理:p为素数,则有: (2)证明: n=(ak...a2,a1,a0)p = (ak...a2,a1)p*p + a0 = [n/p]*p+a0,m=[m/p]*p+b0其次,我们 ...
- [原]Paste.deploy 与 WSGI, keystone 小记
Paste.deploy 与 WSGI, keystone 小记 名词解释: Paste.deploy 是一个WSGI工具包,用于更方便的管理WSGI应用, 可以通过配置文件,将WSGI应用加载起来. ...
- 【HDU 3037】Saving Beans Lucas定理模板
http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...
- MySql 小记
MySql 简单 小记 以备查看 1.sql概述 1.什么是sql? 2.sql发展过程? 3.sql标准与方言的关系? 4.常用数据库? 5.MySql数据库安装? 2.关键概念 表结构----- ...
- Git小记
Git简~介 Git是一个分布式版本控制系统,其他的版本控制系统我只用过SVN,但用的时间不长.大家都知道,分布式的好处多多,而且分布式已经包含了集中式的几乎所有功能.Linus创造Git的传奇经历就 ...
- 广州PostgreSQL用户会技术交流会小记 2015-9-19
广州PostgreSQL用户会技术交流会小记 2015-9-19 今天去了广州PostgreSQL用户会组织的技术交流会 分别有两个session 第一个讲师介绍了他公司使用PostgreSQL-X2 ...
- 东哥读书小记 之 《MacTalk人生元编程》
一直以来的自我感觉:自己是个记性偏弱的人.反正从小读书就喜欢做笔记(可自己的字写得巨丑无比,尼玛不科学呀),抄书这事儿真的就常发生俺的身上. 因为那时经常要背诵课文之类,反正为了怕自己忘记, ...
- Paypal支付小记
Paypal支付小记 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !impo ...
- CF451E Devu and Flowers (隔板法 容斥原理 Lucas定理 求逆元)
Codeforces Round #258 (Div. 2) Devu and Flowers E. Devu and Flowers time limit per test 4 seconds me ...
随机推荐
- Robert 的军队
题目描述 Winter is coming. Robert 是个昏庸的君主,整日沉迷于吃喝玩乐,终于,当寒冬降临,他不得不组 织军队来对抗敌人. 尽管如此,他仍然是个喜欢玩耍的人,还有点强迫症,他希望 ...
- PKUACM2018 A Wife——DP
题目:http://poj.openjudge.cn/practice/C18A/ 据说正解是差分约束,转化的过程还要用到标准型.对偶型什么的知识,暂时还不太懂... 但也有贪心DP做法,有个结论:一 ...
- java 监听机制模拟(JButton按钮监听机制)
一.概念 1.事件监听器 事件监听器就我个人的理解就是:被外部事件(键盘.鼠标)引发的程序,这段程序是被嵌入到事件源的类里面,它负责监听事件列表.而很多人把事件监听器理解成是实现EventListen ...
- IJ:IJ笔记1
ylbtech-IJ:IJ笔记1 1. 下拉框返回顶部 1. <form:select id="type" path="baseId" class=&qu ...
- bzoj3132
二维树状数组 树状数组什么的只支持修改单个数值,但是这道题要我们更新一个区域 盗图 就是这样,然后维护四个bit就行了 #include<bits/stdc++.h> using name ...
- consul备份还原导入导出
工作中要保证生产环境部署的consul的集群能够安全稳定地对外提供服务,即使出现系统故障也能快速恢复,这里将讲述部分的备份还原操作及KV的导入导出操作. 备份与还原 需要备份的主要有两类数据:cons ...
- SQL Server 数据字典生成脚本
SELECT sysobjects.name AS 表名称 ,--sysproperties.[value] AS 表说明 ,syscolumns.name AS 字段名称 ,--properties ...
- Linux特殊符号及基础正则表达式
第1章 特殊符号 1.1 引号系列 1.1.1 单引号 所见即所得 单引号里面的内容会原封不动的输出 [root@oldboyedu50-lnb ~]# echo 'oldboy $LANG $PS ...
- Akka源码分析-Remote-Creating Actors Remotely
在akka官网中关于远程actor交互,介绍了两种方法,一种是通过actorSelection查询,另一种是通过actorOf在远程节点创建一个actor.actorSelection我们之前的博客中 ...
- TypeScript `infer` 关键字
考察如下类型: type PromiseType<T> = (args: any[]) => Promise<T>; 那么对于符合上面类型的一个方法,如何得知其 Prom ...