fzu 2020(Lucas)
来源:互联网 发布:2030中国人工智能 编辑:程序博客网 时间:2024/05/16 14:21
题目链接:组合
题意:输入n, m, p,输出C(n,m)%p。
题解:
Lucas的定理,定理描述是,如果p是质数
那么得到
这样然后分别求,采用逆元计算即可。
代码:
#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <iostream>#include <algorithm>#include <queue>#include <stack>#include <vector>#include <deque>#include <set>#include <map>#include <string>using namespace std;#define For(i,a) for(i=0;i<a;i++)#define Foru(i,a,b) for(i=a;i<=b;i++)#define Ford(i,a,b) for(i=a;i>=b;i--)#define clr(ar,vel) memset(ar,vel,sizeof(ar))#define PB push_backtypedef long long ll;const int maxint = 0x7fffffff;const ll maxll = 1LL<<60;int n, m, p;int quick_mod(ll a, ll b) { ll ans = 1; a %= p; while(b) { if(b & 1) { ans = ans * a % p; b--; } b >>= 1; a = a * a % p; } return ans; } int Lucas(int n, int m){ll ans = 1; if( m > n ) return 0;for(int i = 1; i <= m; i ++){ll a = (n+i-m) % p;ll b = i%p;ans = ans*(a*quick_mod(b, p-2)%p)%p; }return ans;}int main(){int t;cin >> t;while(t--){cin >> n >> m >> p;cout << Lucas(n, m) << endl;}return 0;}
0 0
- fzu 2020(Lucas)
- FZU 2020 组合 lucas
- FZU 2020 组合 [ Lucas ]
- FZU 2020(LUCAS)@
- fzu 2020 Lucas 定理
- FZU 2020 组合 lucas定理
- FZU 2020 组合 Lucas的应用
- fzu 2020 Lucas 定理,组合数求模模板
- FZU 2020 组合(Lucas定理)
- FZU 2020 组合(Lucas定理)
- FZU 2020 组合数取模(Lucas定理模版)
- FZU 2020 组合(Lucas定理的应用)
- FZU 2020 组合 -- (大组合数取模 Lucas定理)
- FZU 2020 组合(组合数 lucas定理模板题)
- Lucas定理简单运用的五题之hdu3037 hdu 3944 fzu 2020 zoj 3557 hdu4349
- FZU 2020-组合(Lucas定理+逆元解决大组合数求模)
- 【Lucas定理 && C(n, m)%p && 逆元】FZU
- FZU 2238 Daxia & Wzc's problem【规律+lucas】
- URAL 1016. Cube on the Walk (分层图+最短路)
- 拽一个贵人出来给你"当炮架子"
- mysql cache调试笔记
- 范德萨范德萨发热天太热太热
- 发送 激活邮件 的代码及注意事项
- fzu 2020(Lucas)
- Python对于正则表达式
- 拷贝构造函数的参数类型必须是引用
- leetcode Binary Tree Level Order Traversal
- 程序示例中为何总是有foo之类的函数
- 服务器上有sql状态 Waiting for query cache lock
- maven中把依赖的JAR包一起打包
- 【Actcl阶乘】#ULR 1 A. Factorial
- 并行计算、分布式计算、网格计算、云计算区别和联系