【BZOJ】2982 combination
【算法】组合数取模——lucas定理
#include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int p=10007; int fac[p+10],inv[p+10]; void gcd(int a,int b,int &x,int &y) {if(b==0){x=1;y=0;}else{gcd(b,a%b,y,x);y-=x*(a/b);} } void pre_inv() {fac[0]=fac[1]=1;for(int i=2;i<p;i++)fac[i]=(fac[i-1]*i)%p;int xx,yy;gcd(fac[p-1],p,xx,yy);inv[p-1]=((xx%p)+p)%p;//扩欧解不一定是最小非负解! for(int i=p-2;i>=0;i--)inv[i]=(inv[i+1]*(i+1))%p; } int C(int n,int m) {if(n<m)return 0;if(n<p&&m<p)return (1ll*fac[n]*inv[m]*inv[n-m])%p;return (C(n%p,m%p)*C(n/p,m/p))%p; } int main() {pre_inv();int T,n,m;scanf("%d",&T);//for(int i=0;i<10;i++)printf("inv_%d=%d\n",i,inv[i]);while(T--){scanf("%d%d",&n,&m);printf("%d\n",C(n,m));}return 0; }
View Code
转载于:https://www.cnblogs.com/onioncyc/p/7136684.html
【BZOJ】2982 combination相关推荐
- 【BZOJ】1707: [Usaco2007 Nov]tanning分配防晒霜
[算法]贪心扫描线(+堆) [题意]给定n头牛有区间[a,b],m个防晒霜值为ai,每个可以使用bi次,每次可以使包含它的区间涂到防晒霜,问最多被涂牛数. [题解] 参考:[bzoj1707]: [U ...
- 【BZOJ】【1041】【HAOI2008】圆周上的点
数学 orz hzwer 完全不会做-- 很纠结啊,如果将来再遇到这种题,还是很难下手啊-- 引用题解: [分析]: 样例图示: 首先,最暴力的算法显而易见:枚举x轴上的每个点,带入圆的方程,检查是否 ...
- 【BZOJ】【1036】树的统计
嗯这题是一道对树进行动态修改&查询的经典题目,可以拿来练习树链剖分~ 啊对于这种动态修改&查询的题目,我们最喜闻乐见的就是在一个序列上去做了,毕竟可以直接套各种数据结构模版啊,比如线段 ...
- 【BZOJ】【3442】学习小组
网络流/费用流 orz zyf 裸的费用流,根据题目描述即可建出如下的图: S->i 费用表示每有一个加入第 i 个小组的学生,需要花的钱,由于是跟流量(人数)的二次方相关,所以要拆边--然后每 ...
- 【BZOJ】1711: [Usaco2007 Open]Dining吃饭
[算法]最大流 [题解] S连向食物连向牛连向牛'连向饮料连向T. 经典的一个元素依赖于两个元素的建图方式. #include<cstdio> #include<algorithm& ...
- 【BZOJ】2099: [Usaco2010 Dec]Letter 恐吓信
[题意]给定长度为n和m的两个字符串S和T,要求在字符串S中取出若干段拼成T(可重复取),求最小段数,n,m<=50000. [算法]后缀自动机 || 后缀数组 [题解]对串S建SAM,然后在上 ...
- 【BZOJ】1299: [LLH邀请赛]巧克力棒
[算法]博弈论 [题解]这道题不是典型的SG函数题了. 不把它当成游戏看待,那么这道题是在说n个石子堆,每次可以加入若干个或进行Nim游戏. 我们当前先手,则考虑构造必败态来获胜. 当前已加入的NIm ...
- 【BZOJ】1013 [JSOI2008]球形空间产生器sphere
[算法]高斯消元 [题解] 建矩阵; for i 找到同列绝对值最大数字; 交换; for k(行) j(列)(倒序) 除法; for i(倒序) for j 减去已知元素 除到右边; #incl ...
- 【BZOJ】4032: [HEOI2015]最短不公共子串(LibreOJ #2123)
[题意]给两个小写字母串A,B,请你计算: (1) A的一个最短的子串,它不是B的子串 (2) A的一个最短的子串,它不是B的子序列 (3) A的一个最短的子序列,它不是B的子串 (4) A的一个最短 ...
最新文章
- 数组-在Shell脚本中的基本使用介绍
- vue2.0通过Axios导出excel文件(解决乱码问题)
- liferay和cas系统集成
- Knockout.js 学习 (六)-- 监控属性数组 applyBinding Observables
- 数据标准化的方法与意义
- javaWeb_JSP 动态指令 forward 的程序
- 4.2.1 OS之磁盘的结构(磁盘、磁道、扇区、盘面、柱面、磁头)
- java 日期 运算
- SAP Spartacus如何为不同的environment设置不同的baseUrl
- USF MSDS501 计算数据科学中文讲义·翻译完成
- python中int的用法归类
- python itchat模块登录失败_itchat模块的不明错误
- tableau如何生成HTML文件,Tableau 入门
- Java设计模式(六)装饰器模式-与代理模式的区别-项目实战应用
- Codeforces 136A Presents
- MySQL——事务(Transaction)详解
- 项目经理如何激励自己的团队
- IEduChina2019国际学校展暨国际教育论坛温暖深圳
- Catia V5-6R2016安装教程
- HDU:1998 奇数阶魔方(规律填数)
热门文章
- edittext禁止换行符但能自动换行简书_使用n-gram创建自动完成系统
- 树状选择框测试用例_【转】【测试用例设计】WEB通用测试用例
- vue 实现动态增加输入框_vue实现一个6个输入框的验证码输入组件
- excel在线_怎么能在线免费将PDF转Excel?
- tensorflow学习(4.loss函数以及正则化的使用 )
- 图像处理中常用数学知识
- 【CV夏季划】2021年冲刺CV秋招,100余课时从理论基础到进阶实践系统掌握
- 【杂谈】为什么Pytorch这么好用我还苦口婆心推荐初学者也学习一下caffe?
- 【AI初识境】如何增加深度学习模型的泛化能力
- 泰国基础教育管理实行新体制