Description

LMZn个不同的基友,他每天晚上要选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的答案。

思路:

不想说什么,标准的lucas,比luogu上的板子还简单

lucas大家应该都知道,不知道的可以看我的博客(抱歉啊,还有bug,没发布)

核心代码就一行:

(lucas(s/p,t/p)*zhs(s%p,t%p))%p

重点在预处理逆元

代码:

#include<iostream>
#include<cstdio>
using namespace std;
long long n,m,p,t,ny[100005];
void qny()
{
ny[1]=1;
for(register int a=2;a<=p-1;a++)
{
ny[a]=(p-(p/a))*ny[p%a]%p;
}
}
int zhs(int q,int x)
{
if(q==0)
{
return 1;
}
long long ltt=1;
for(register int a=1;a<=q;a++)
{
ltt*=ny[a];
ltt%=p;
}
for(register int a=1;a<=q;a++)
{
ltt*=(x-a+1);
ltt%=p;
}
return ltt;
}
long long lucas(int s,int t)
{
if(t==0)
{
return 1;
}
else
{
return (lucas(s/p,t/p)*zhs(s%p,t%p))%p;
}
}
int main()
{
scanf("%d",&t);
p=10007;
qny();
for(int i=1;i<=t;i++)
{
scanf("%d%d",&n,&m);
printf("%lld\n",lucas(m,n));
}
}

  

bzoj2982: combination(lucas)的更多相关文章

  1. 【题解】 bzoj2982: combination (Lucas定理)

    题面戳我 Solution 板子题 Code //It is coded by ning_mew on 7.25 #include<bits/stdc++.h> #define LL lo ...

  2. bzoj2982: combination(Lucas定理)

    Description LMZ有n个不同的基友,他每天晚上要选m个进行[河蟹],而且要求每天晚上的选择都不一样.那么LMZ能够持续多少个这样的夜晚呢?当然,LMZ的一年有10007天,所以他想知道答案 ...

  3. 2018.09.14 bzoj2982: combination(Lucas定理)

    传送门 貌似就是lucas的板子题啊. 练一练手感觉挺舒服的^_^ 代码: #include<bits/stdc++.h> #define mod 10007 #define ll lon ...

  4. 【BZOJ2982】combination(Lucas定理)

    题意:求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& ...

  5. 【BZOJ】2982: combination(lucas定理+乘法逆元)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2982 少加了特判n<m return 0就wa了QAQ lucas定理:C(n, m)%p=( ...

  6. 数论篇7——组合数 & 卢卡斯定理(Lucas)

    组合数 组合数就是高中排列组合的知识,求解组合数C(n,m),即从n个相同物品中取出m个的方案数. 求解方式 求解通式:$C^{m}_{n}=\dfrac {n!}{m!\left( n-m\righ ...

  7. BZOJ 4403 序列统计(Lucas)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4403 [题目大意] 给定三个正整数N.L和R,统计长度在1到N之间, 元素大小都在L到 ...

  8. 《瞿葩的数字游戏》T3-三角圣地(Lucas)

    题目背景 国王1带大家到了数字王国的中心:三角圣地. 题目描述 不是说三角形是最稳定的图形嘛,数字王国的中心便是由一个倒三角构成.这个倒三角的顶端有一排数字,分别是1~N.1~N可以交换位置.之后的每 ...

  9. hdu3037 Saving Beans(Lucas定理)

    hdu3037 Saving Beans 题意:n个不同的盒子,每个盒子里放一些球(可不放),总球数<=m,求方案数. $1<=n,m<=1e9,1<p<1e5,p∈pr ...

随机推荐

  1. PAT 1024 Palindromic Number

    #include <cstdio> #include <iostream> #include <cstdlib> #include <algorithm> ...

  2. CSS3新增的伪类选择器

    伪类选择器的作用:对已有选择器做进一步的限制,对已有选择器能匹配的元素做进一步的过滤.CSS 3提供的伪类选择器主要分为以下三类: 结构性伪类选择器 UI元素状态伪类选择器 其他伪类选择器 1.结构性 ...

  3. Arcobject获得栅格影像的边界

    一般的各种遥感影像都是采用某种地理或投影坐标的栅格影像,对于从事影像相关工作的人来说,得到现有影像的覆盖范围是确定研究内容,购买遥感影像的基础.怎么得到这个覆盖范围呢?当然我们可以在ArcGIS或ER ...

  4. network embedding 需读论文

    Must-read papers on NRL/NE. github: https://github.com/nate-russell/Network-Embedding-Resources NRL: ...

  5. input type=number去掉上下箭头

    <input type="number" ...> <style> input::-webkit-outer-spin-button, input::-we ...

  6. vue-cli run dev 和 run build 出现的问题(运行项目、打包项目)

    前些天做项目,过程中遇到了一个比较奇怪的问题:npm run dev 和 npm run build 的时候,出现了错误,导致项目无法启动.打包无法成功.报了一堆错误: 错误展示: 找了一下解决方案, ...

  7. Oracle数据库克隆后temp文件因路径变化无法找到问题

    Oracle数据库克隆后temp文件因路径变化无法找到出现如下报错Errors in filexxxx.trc:ORA-01157: cannot identify/lock data file xx ...

  8. css渲染(三)颜色与背景

    颜色的应用主要分为前景色.背景色和透明三个部分. 一.前景色 color color前景色 值: <color> | inherit 初始值: 用户代理特定的值 应用于: 所有元素 继承性 ...

  9. 统计一段文章的单词频率,取出频率最高的5个单词和个数(python)

    练习题:统计一段英语文章的单词频率,取出频率最高的5个单词和个数(用python实现) 先全部转为小写再判定 lower() 怎么判定单词? 1 不是字母的特殊字符作为分隔符分割字符串 (避免特殊字符 ...

  10. 「C基础」位运算

    0. 原码.补码.反码 初学者只做了解即可 见 张子秋的博客 无论正负数,在内存中存储的都是补码 正数:反码 == 原码 == 补码 负数:反码 == ~原码 补码 == 反码+1 1. & ...