BZOJ2982: combination Lucas模板】的更多相关文章

2982: combination Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 734  Solved: 437[Submit][Status][Discuss] Description LMZ有n个不同的基友,他每天晚上要选m个进行[河蟹],而且要求每天晚上的选择都不一样.那么LMZ能够持续多少个这样的夜晚呢?当然,LMZ的一年有10007天,所以他想知道答案mod 10007的值.(1<=m<=n<=200,000,000) Inpu…
2982: combination Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 664  Solved: 397[Submit][Status][Discuss] Description LMZ有n个不同的基友,他每天晚上要选m个进行[河蟹],而且要求每天晚上的选择都不一样.那么LMZ能够持续多少个这样的夜晚呢?当然,LMZ的一年有10007天,所以他想知道答案mod 10007的值.(1<=m<=n<=200,000,000) Inpu…
Description LMZ有n个不同的基友,他每天晚上要选m个进行[河蟹],而且要求每天晚上的选择都不一样.那么LMZ能够持续多少个这样的夜晚呢?当然,LMZ的一年有10007天,所以他想知道答案mod 10007的值.(1<=m<=n<=200,000,000) Input   第一行一个整数t,表示有t组数据.(t<=200)   接下来t行每行两个整数n, m,如题意. Output T行,每行一个数,为C(n, m) mod 10007的答案. Sample Input…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2982 明明是lucas定理裸题…… 非常需要注意C( )里  if ( n<m ) return 0; !!!!! 可以预处理阶乘和其逆元,也可以现求.现求阶乘逆元的话,可以把 jc[m] 和 jc[n-m] 乘起来再放到pw里. #include<iostream> #include<cstdio> #include<cstring> #define ll…
Code: #include<bits/stdc++.h> #define ll long long #define maxn 1000003 using namespace std; const ll mod = 10007; void setIO(string s) { string in=s+".in"; freopen(in.c_str(),"r",stdin); } struct Comb { ll fac[maxn]; ll qpow(ll…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2982 $C(N,M)\% P = C(N\% P,M\% P) * C(N/P,M/P)\% P$ #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ; ],fac[]; int C(int x,int y){ ; return fac[x]*inv[fac[y…
[BZOJ2982]combination Description LMZ有n个不同的基友,他每天晚上要选m个进行[河蟹],而且要求每天晚上的选择都不一样.那么LMZ能够持续多少个这样的夜晚呢?当然,LMZ的一年有10007天,所以他想知道答案mod 10007的值.(1<=m<=n<=200,000,000) Input   第一行一个整数t,表示有t组数据.(t<=200)   接下来t行每行两个整数n, m,如题意. Output T行,每行一个数,为C(n, m) mod…
题面戳我 Solution 板子题 Code //It is coded by ning_mew on 7.25 #include<bits/stdc++.h> #define LL long long using namespace std; const LL MOD=10007; int T; LL A[MOD],B[MOD],n,m; void pre(){ A[0]=B[0]=A[1]=B[1]=1; for(int i=2;i<MOD;i++)B[i]=-(MOD/i)*B[M…
Description LMZ有n个不同的基友,他每天晚上要选m个进行[河蟹],而且要求每天晚上的选择都不一样.那么LMZ能够持续多少个这样的夜晚呢?当然,LMZ的一年有10007天,所以他想知道答案mod 10007的值.(1<=m<=n<=200,000,000) Input   第一行一个整数t,表示有t组数据.(t<=200)   接下来t行每行两个整数n, m,如题意. Output T行,每行一个数,为C(n, m) mod 10007的答案. Sample Input…
传送门 貌似就是lucas的板子题啊. 练一练手感觉挺舒服的^_^ 代码: #include<bits/stdc++.h> #define mod 10007 #define ll long long using namespace std; int T_T; ll n,m,fac[mod+5],ifac[mod+5]; inline ll lucas(ll a,ll b){ if(a<b)return 0; if(a<mod&&b<mod)return fa…
Description LMZ有n个不同的基友,他每天晚上要选m个进行[河蟹],而且要求每天晚上的选择都不一样.那么LMZ能够持续多少个这样的夜晚呢?当然,LMZ的一年有10007天,所以他想知道答案mod 10007的值.(1<=m<=n<=200,000,000) Input   第一行一个整数t,表示有t组数据.(t<=200)   接下来t行每行两个整数n, m,如题意. Output T行,每行一个数,为C(n, m) mod 10007的答案. 思路: 不想说什么,标准…
借(cao)鉴(xi)自popoqqq大爷的lucas定理的写法 #include<cstdio> #include<cstring> #include<cctype> #include<algorithm> using namespace std; #define rep(i,s,t) for(int i=s;i<=t;i++) #define dwn(i,s,t) for(int i=s;i>=t;i--) #define clr(x,c)…
lucas裸题. C(m,n) = C(m/p,n/p)*C(m%p,n%p). ----------------------------------------------------------------------------------------- #include<cstdio> #include<cstring> #include<algorithm>   using namespace std;   const int MOD = 10007;   i…
How Many Sets II Time Limit: 2 Seconds      Memory Limit: 65536 KB Given a set S = {1, 2, ..., n}, number m and p, your job is to count how many set T satisfies the following condition: T is a subset of S |T| = m T does not contain continuous numbers…
1.题意:求 C(n,m) % 10007 ,10007是质数咯 n和m < 2000000000 2.分析:这个东西太大了,显然不能用n!的阶乘预处理的方式搞出来,也不能用递推公式搞出来 于是我们直接lucas定理  C(n,m) % MOD = C(n / MOD, m / MOD) * C(n % MOD, m % MOD)  % MOD #include <cstdio> #include <cstdlib> #include <cstring> #inc…
ll PowMod(ll a,ll b,ll MOD){ ll ret=; while(b){ ) ret=(ret*a)%MOD; a=(a*a)%MOD; b>>=; } return ret; } ll fac[]; ll Get_Fact(ll p) { fac[]=; ;i<=p;i++) fac[i]=(fac[i-]*i)%p; } ll Lucas(ll n,ll m,ll p){ ll ret=; while(n&&m){ ll a=n%p,b=m%p;…
#include<bits/stdc++.h> #define int long long using namespace std; ; int a[maxn]; int quick(int a,int n,int p) { ; while(n) { ) ans=ans%p*a%p; a=a%p*a%p; n>>=; } return ans%p; } int C(int x,int y,int p) // C(x,y); { ; a[]=; ;i<=p;i++) a[i]=…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2142 没给P的范围,但说 pi ^ ci<=1e5,一看就是扩展lucas. 学习材料:https://blog.csdn.net/clove_unique/article/details/54571216 https://www.cnblogs.com/elpsycongroo/p/7620197.html 于是打(抄)了第一份exlucas的板子.那个把 pi的倍数 和 其余部分 分开…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2982 卢卡斯定理裸题: 原准备1A来着,结果输出忘了加回车! 预处理阶乘或者现求都可以,感觉学到了一种现求 C 的写法呢. 代码如下: #include<iostream> #include<cstdio> #include<cstring> using namespace std; typedef long long ll; ; ll fac[]; void i…
//codeforces 559C|51nod1486 Gerald and Giant Chess(组合数学+逆元) #include <bits/stdc++.h> using namespace std; #define LL long long typedef pair<int,int> pii; const int inf = 0x3f3f3f3f; ; #define clc(a,b) memset(a,b,sizeof(a)) ; ; void fre() {freo…
J. Ceizenpok’s formula time limit per test 2.0 s memory limit per test 256 MB input standard input output standard output Dr. Ceizenp'ok from planet i1c5l became famous across the whole Universe thanks to his recent discovery — the Ceizenpok’s formul…
/* *********************************************** Author :guanjun Created Time :2016/5/20 0:28:36 File Name :hdu5698.cpp ************************************************ */ #include <iostream> #include <cstdlib> #include <stdio.h> #incl…
题目大意:发上来就过不了审核了--总之大意就是求C(n,m) mod 10007 m,n∈[1,2*10^8] 卢卡斯定理:C(n,m)=C(n%p,m%p)*C(n/p,m/p) mod p 要求p是质数 当中n%p可能会小于m%p 这样的情况下直接返回0就可以 证明去问卢卡斯 我不知道 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define p 1…
(上不了p站我要死了,侵权度娘背锅) Description LMZ有n个不同的基友,他每天晚上要选m个进行[河蟹],而且要求每天晚上的选择都不一样.那么LMZ能够持续多少个这样的夜晚呢?当然,LMZ的一年有10007天,所以他想知道答案mod 10007的值.(1<=m<=n<=200,000,000) Input 第一行一个整数t,表示有t组数据.(t<=200) 接下来t行每行两个整数n, m,如题意. Output T行,每行一个数,为C(n, m) mod 10007的答…
acm.hdu.edu.cn/showproblem.php?pid=3037 [题意] m个松果,n棵树 求把最多m个松果分配到最多n棵树的方案数 方案数有可能很大,模素数p 1 <= n, m <= 1000000000, 1 < p < 100000 [思路] 答案为C(n+m,m)%p 对于C(n, m) mod p.这里的n,m,p(p为素数)都很大的情况.就不能再用C(n, m) = C(n - 1,m) + C(n - 1, m - 1)的公式递推了.这里用到Luca…
J. Ceizenpok’s formula time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Dr. Ceizenp'ok from planet i1c5l became famous across the whole Universe thanks to his recent discovery — the Ceizenp…
题目链接:http://lightoj.com/volume_showproblem.php?problem=1067 模板求C(n,m)%p, Lucas模板; #include <iostream> #include <stdio.h> #include <string.h> #include <string> #include <vector> #include <algorithm> #include <map>…
1656:Combination 时间限制: 1000 ms         内存限制: 524288 KB [题目描述] 原题来自:BZOJ 2982 LMZ 有 n 个不同的基友,他每天晚上要选 m 个进行 [河蟹],而且要求每天晚上的选择都不一样.那么 LMZ 能够持续多少个这样的夜晚呢?当然,LMZ 的一年有 10007 天,所以他想知道答案 mod10007 的值. [输入] 第一行一个整数 t,表示有 t 组数据: 接下来 t 行每行两个整数 n,m,如题意. [输出] t 行,每行…
$补+写题ing$ 第 1 章 快速幂 序列的第 k 个数 link $solution:$ 板子 A 的 B 次方 link $solution:$ 板子 [NOIP2013] 转圈游戏 link $solution:$ 板子 越狱 link $solution:$ 简单的容斥原理,$m^n-m\times \prod_{i=1}^{n-1} m-1$ 第 2 章 质数 Prime Distance link $solution:$ 先筛掉$[1,\sqrt{R}]$,然后在暴力即可. 质因数…
题意:求C(n,m) n,m<=200000000 思路:c(n,m)=c(n mod mo,m mod mo)*c(n div mo,m div mo) mod mo (n>=mo或m>=mo) c(x,y)=0 (x<y) c(n,m)=fac[n]*exf[m]*exf[n-m] (n,m<mo) ; ..]of longint; n,i,x,y:longint; function c(n,m:longint):longint; begin ); if (n<mo…