【NOIP校内模拟】T1 膜法(组合数)
整理题意后 对于每个询问其实就是
由于C(m,n)=C(m,m-n)
就变成了
其实就是在杨辉三角上的一列求其中的一段和
然后有个玄学的公式
什么意思呢
证明是很容易得到的
所以把阶乘预处理出来 由于1e9+7是质数 可以用费马小定理算逆元 就可以O(1)回答
#include<bits/stdc++.h>
#define N 100010
#define mod 1000000007
#define int long long
using namespace std;
inline int qpow(int x,int y)
{int base=x,ans=1;while(y){if(y&1) ans=(ans*base)%mod;base=(base*base)%mod;y>>=1;}return ans;
}
int n,m,fac[N],inv[N];
void init()
{fac[0]=1;for(int i=1;i<=n+5;i++) fac[i]=fac[i-1]*i%mod;for(int i=0;i<=n+5;i++) inv[i]=qpow(fac[i],mod-2);
}
int C(int m,int n)
{return ((fac[m]*inv[n])%mod*inv[m-n])%mod;
}
main()
{cin>>n>>m;init();int ans=1;for(int i=1;i<=m;i++){int l,r,k;scanf("%d%d%d",&l,&r,&k);int tmp=C(r+1,l-k+1)-C(l,l-k+1);while (tmp<0) tmp+=mod;ans=ans*tmp%mod;}cout<<ans;return 0;
}
转载于:https://www.cnblogs.com/Patrickpwq/articles/9798236.html
【NOIP校内模拟】T1 膜法(组合数)相关推荐
- 2018.10.16【校内模拟】膜法(组合数学)
解析: 其实就是一个组合数学式子,每一个询问我们要求的东西是∑i=0r−lCl+ik+i=∑i=0r−lCl+il−k\sum_{i=0}^{r-l}C_{l+i}^{k+i}=\sum_{i=0}^ ...
- 【NOIP校内模拟】T2 字胡串(分治)
%%%%%%%%%%%lst神仙 这是他的做法 吊了标算 对于这种有多少区间满足要求的 我们套路的用分治做 每次都统计左端点在左半边 右端点在右半边的个数 设f(i) 表示当前点到中间分割点的最大值, ...
- 【NOIP校内模拟】T2 华莱士(环套树)
其实就是要求最小的环套树森林 我们现在只考虑如何合并 设当前边的两个端点是x,y 若x,y在一个联通块里 那这个联通块要么是树 要么是环套树 假如是个环套树 加一条边后必定变成两个环 不符合要求 假如 ...
- 【NOIP校内模拟】塔
我们可以这样考虑 X 必定是由若干个立方数拼起来的 因此我们可以逆着求 只需关心每次取哪个立方数即可 设a是最大的 a 使得 a^3 不超过 m 分析样例 我们发现在第一次的时候 就可以取a或者a-1 ...
- 【NOIP校内模拟】图论题
设dis[i]表示根节点到i的距离(只经过树边),再设w[i]表示i到1这条边的距离 对于u和v我们考虑两种情况 ①.当u是v的祖先 则答案为dis[v]-dis[u] ②.当u不是v的祖先,明确从1 ...
- 【NOIP校内模拟】T3 长者(主席树+哈希+二分)
我们先考虑如何比较两两的字符串 我们可以用线段树来维护哈希值 在线段树上根据二分的性质来做即可 又考虑到 每颗线段树是在之前的某颗基础上只修改了一个节点 那显然就想到了主席树 另外说说如何pushup ...
- 2017.6.11 校内模拟赛
题面及数据及std(有本人的也有原来的) :2017.6.11 校内模拟赛 T1 自己在纸上模拟一下后就会发现 可以用栈来搞一搞事情 受了上次zsq 讲的双栈排序的启发.. 具体就是将原盘子大小cop ...
- 第十四届蓝桥杯校内模拟赛第二期-Java个人题解(仅供参考)
刚刚结束第十四届蓝桥杯校内模拟赛第二期,在这记录下自己的代码 不保证正确! 不保证正确! 不保证正确! 有问题一起改正!! 题解 2048 代码: package _14届模拟2;public cla ...
- 【蓝桥】软件校内模拟赛(二)反倍数 题目+题解
文章目录 前言 反倍数 题目描述 前言 本题解为第十一届软件类校内模拟赛个人题解,但非官方满分题解,因此,可能存在下列问题 题意理解错误,导致答案错误. 代码中存在一些问题,导致答案错误. 算法复杂度 ...
最新文章
- 【网络安全】针对 HTTP/2 协议的HTTP Desync攻击
- 五年级计算机学情分析,五年级学情分析
- Benelux Algorithm Programming Contest 2016 Preliminary 题解
- 6张图,带你深入理解GitOps,真硬核!
- 阿里巴巴对Java编程【注释规约】的规约
- 通过Java Hipster升级Spring Security OAuth和JUnit测试
- Scrum之 Sprint计划会议
- 操作系统课设之虚拟内存页面置换算法的模拟与实现
- idea中Mark Directory as的几个选项详解
- VC中树状控件(TreeCtrl)的用法
- 大数据如何推动医疗行业的发展
- 保密检查便携式计算机,Lyaept关于便携式计算机和移动存储介质保密管理制度.doc...
- mysql 不等于查询优化_MySQL查询性能优化
- MySQL数据库基础命令
- “恒德”机场智能应急指挥调度系统解决方案
- 利用kaptcha生成登录验证码
- 高级气泡图——R语言简单实现
- cmd中回退到上一级文件目录 与 定位下一级目录
- 字符串左旋和右旋的常见方法
- 智能手表短信读取实现(带有eSIM卡,无短信功能,可安装手表QQ的智能手表)
热门文章
- linux c 多进程,【linux下c语言服务器开发系列1】多进程处理多客户端的连接
- mysql 拼接符是什么_mysql 字符串拼接
- fatal: git-write-tree: error building trees
- Farthest points Sampling on 3D meshes with mesh kept based on diffusion distance
- 24解析函数的级数表示(三)
- 华为的鸿蒙系统是安卓吗,华为鸿蒙,一个本属于2025年的产品
- ajax fetch api,fetch 简介: 新一代 Ajax API
- 数据库管理学习笔记(一)——实体关系建模
- 人工智能还能登上微博热搜?热搜关键词你得看看!
- java 指定格式的date_指定格式的日期字符串转化成java.util.Date类型日期对象