/* ***********************************************
Author :guanjun
Created Time :2016/5/20 0:28:36
File Name :hdu5698.cpp
************************************************ */
#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <set>
#include <map>
#include <string>
#include <math.h>
#include <stdlib.h>
#define ll long long
#define MOD 1000000007
#define INF 0x3f3f3f3f
#define maxn 200010
using namespace std; ll fac[maxn],inv[maxn];
ll Pow(ll a,ll n,ll m){
ll ans=;
while(n) {
if(n&) {
ans*=a;
ans%=m;
}
a=a*a%m;
n>>=;
}
return ans;
}
ll C(ll n,ll m,ll p){
ll res=;
while(n&&m){
ll a=n%p;
ll b=m%p;
if(a<b)return ;
res=res*fac[a]%p*Pow(fac[b]*fac[a-b]%p,p-,p)%p;
n/=p;
m/=p;
}
return res;
} void init(){
fac[]=;
inv[]=;
for(int i=;i<=maxn;i++){
fac[i]=fac[i-]*i%MOD;
inv[i]=Pow(fac[i],MOD-,MOD);//费马小定理,要求MOD为素数
}
}
int main()
{
init();
ll n,m;
while(cin>>n>>m){
printf("%I64d\n",C(n,m,MOD));
}
return ;
}

解析:http://blog.sina.com.cn/s/blog_b9a401a40101dghn.html

Lucas模板&快速幂模板的更多相关文章

  1. 89. a^b【快速幂模板】

    a^b Description 求 aa 的 bb 次方对 pp 取模的值. 输入格式 三个整数 a,b,pa,b,p ,在同一行用空格隔开. 输出格式 输出一个整数,表示a^b mod p的值. 数 ...

  2. POJ3070 矩阵快速幂模板

    题目:http://poj.org/problem?id=3070 矩阵快速幂模板.mod写到乘法的定义部分就行了. 别忘了 I ( ) 和 i n i t ( ) 要传引用! #include< ...

  3. 矩阵快速幂模板(pascal)

    洛谷P3390 题目背景 矩阵快速幂 题目描述 给定n*n的矩阵A,求A^k 输入输出格式 输入格式: 第一行,n,k 第2至n+1行,每行n个数,第i+1行第j个数表示矩阵第i行第j列的元素 输出格 ...

  4. hdu-1757 A Simple Math Problem---矩阵快速幂模板题

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1757 题目大意: 求递推式第k项模m If x < 10 f(x) = x.If x > ...

  5. 51nod1113(矩阵快速幂模板)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1113 题意:中文题诶- 思路:矩阵快速幂模板 代码: #inc ...

  6. luoguP3390(矩阵快速幂模板题)

    链接:https://www.luogu.org/problemnew/show/P3390 题意:矩阵快速幂模板题,思路和快速幂一致,只需提供矩阵的乘法即可. AC代码: #include<c ...

  7. 组合数(Lucas定理) + 快速幂 --- HDU 5226 Tom and matrix

    Tom and matrix Problem's Link:   http://acm.hdu.edu.cn/showproblem.php?pid=5226 Mean: 题意很简单,略. analy ...

  8. hdu 2604 矩阵快速幂模板题

    /* 矩阵快速幂: 第n个人如果是m,有f(n-1)种合法结果 第n个人如果是f,对于第n-1和n-2个人有四种ff,fm,mf,mm其中合法的只有fm和mm 对于ffm第n-3个人只能是m那么有f( ...

  9. POJ 3070 Fibonacci 矩阵快速幂模板

    Fibonacci Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 18607   Accepted: 12920 Descr ...

随机推荐

  1. IDEA修改背景图片和主题代码风格

    使用IDEA有一段时间了,之前为了写代码没时间折腾这玩意,以前使用Eclipse的时候一次性折腾好了,现在把之前Eclipse的配置再配到IDEA里面来,下面是效果图.Eclipse的设置见:点击这里 ...

  2. HTTP实验:分别使用httpd-2.2和httpd-2.4实现

    1. 需求描述 1.建立httpd服务,要求: (1) 提供两个基于名称的虚拟主机: www1.stuX.com,页面文件目录为/web/vhosts/www1:错误日志为/var/log/httpd ...

  3. Python之面向对象封装

    Python之面向对象封装 封装不是单纯意义的隐藏 什么是封装: 将数据放在一个设定好的盒子里,并标出数据可以实现的功能,将功能按钮外露,而隐藏其功能的工作原理,就是封装. 要怎么封装: 你余额宝有多 ...

  4. leetcode-169求众数

    求众数 思路: 记录每个元素出现的次数,然后查找到众数 代码: class Solution: def majorityElement(self, nums: List[int]) -> int ...

  5. 基础知识:if条件、while循环、for循环 相关练习

    1.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败! while True: name = input('请输入用户名:') psw = inpu ...

  6. UVA 253 Cube painting(枚举 模拟)

    题意: 按如图的顺序给定2个骰子的颜色(只有r.b.g三种颜色) 问2个骰子是否一模一样 如 可表示为“rbgggr” 和 “rggbgr”, 第二个就是绕着Z轴顺时针旋转90度与第一个相同的骰子. ...

  7. windows资源监控常用计数器解释

    随笔有些是自己写的,有些是根据网上的东西自己整理的,文章基本都是别人的,只是为方便查看复制到那里

  8. 判断List集合为空

    package org.springframework.util; CollectionUtils.isEmpty(list)

  9. [luoguP1896] [SCOI2005]互不侵犯King(状压DP)

    传送门 先预处理出来一行中放置国王的所有情况和每种情况所用的国王个数. f[i][j][k]表示前i行放j个国王且最后一行的状态为k的方案数 状压DP即可 #include <cstdio> ...

  10. Codeforces Round #259 (Div. 2) D

    D. Little Pony and Harmony Chest time limit per test 4 seconds memory limit per test 256 megabytes i ...