整理题意后 对于每个询问其实就是

由于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 膜法(组合数)相关推荐

  1. 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}^ ...

  2. 【NOIP校内模拟】T2 字胡串(分治)

    %%%%%%%%%%%lst神仙 这是他的做法 吊了标算 对于这种有多少区间满足要求的 我们套路的用分治做 每次都统计左端点在左半边 右端点在右半边的个数 设f(i) 表示当前点到中间分割点的最大值, ...

  3. 【NOIP校内模拟】T2 华莱士(环套树)

    其实就是要求最小的环套树森林 我们现在只考虑如何合并 设当前边的两个端点是x,y 若x,y在一个联通块里 那这个联通块要么是树 要么是环套树 假如是个环套树 加一条边后必定变成两个环 不符合要求 假如 ...

  4. 【NOIP校内模拟】塔

    我们可以这样考虑 X 必定是由若干个立方数拼起来的 因此我们可以逆着求 只需关心每次取哪个立方数即可 设a是最大的 a 使得 a^3 不超过 m 分析样例 我们发现在第一次的时候 就可以取a或者a-1 ...

  5. 【NOIP校内模拟】图论题

    设dis[i]表示根节点到i的距离(只经过树边),再设w[i]表示i到1这条边的距离 对于u和v我们考虑两种情况 ①.当u是v的祖先 则答案为dis[v]-dis[u] ②.当u不是v的祖先,明确从1 ...

  6. 【NOIP校内模拟】T3 长者(主席树+哈希+二分)

    我们先考虑如何比较两两的字符串 我们可以用线段树来维护哈希值 在线段树上根据二分的性质来做即可 又考虑到 每颗线段树是在之前的某颗基础上只修改了一个节点 那显然就想到了主席树 另外说说如何pushup ...

  7. 2017.6.11 校内模拟赛

    题面及数据及std(有本人的也有原来的) :2017.6.11 校内模拟赛 T1 自己在纸上模拟一下后就会发现 可以用栈来搞一搞事情 受了上次zsq 讲的双栈排序的启发.. 具体就是将原盘子大小cop ...

  8. 第十四届蓝桥杯校内模拟赛第二期-Java个人题解(仅供参考)

    刚刚结束第十四届蓝桥杯校内模拟赛第二期,在这记录下自己的代码 不保证正确! 不保证正确! 不保证正确! 有问题一起改正!! 题解 2048 代码: package _14届模拟2;public cla ...

  9. 【蓝桥】软件校内模拟赛(二)反倍数 题目+题解

    文章目录 前言 反倍数 题目描述 前言 本题解为第十一届软件类校内模拟赛个人题解,但非官方满分题解,因此,可能存在下列问题 题意理解错误,导致答案错误. 代码中存在一些问题,导致答案错误. 算法复杂度 ...

最新文章

  1. 【网络安全】针对 HTTP/2 协议的HTTP Desync攻击
  2. 五年级计算机学情分析,五年级学情分析
  3. Benelux Algorithm Programming Contest 2016 Preliminary 题解
  4. 6张图,带你深入理解GitOps,真硬核!
  5. 阿里巴巴对Java编程【注释规约】的规约
  6. 通过Java Hipster升级Spring Security OAuth和JUnit测试
  7. Scrum之 Sprint计划会议
  8. 操作系统课设之虚拟内存页面置换算法的模拟与实现
  9. idea中Mark Directory as的几个选项详解
  10. VC中树状控件(TreeCtrl)的用法
  11. 大数据如何推动医疗行业的发展
  12. 保密检查便携式计算机,Lyaept关于便携式计算机和移动存储介质保密管理制度.doc...
  13. mysql 不等于查询优化_MySQL查询性能优化
  14. MySQL数据库基础命令
  15. “恒德”机场智能应急指挥调度系统解决方案
  16. 利用kaptcha生成登录验证码
  17. 高级气泡图——R语言简单实现
  18. cmd中回退到上一级文件目录 与 定位下一级目录
  19. 字符串左旋和右旋的常见方法
  20. 智能手表短信读取实现(带有eSIM卡,无短信功能,可安装手表QQ的智能手表)

热门文章

  1. linux c 多进程,【linux下c语言服务器开发系列1】多进程处理多客户端的连接
  2. mysql 拼接符是什么_mysql 字符串拼接
  3. fatal: git-write-tree: error building trees
  4. Farthest points Sampling on 3D meshes with mesh kept based on diffusion distance
  5. 24解析函数的级数表示(三)
  6. 华为的鸿蒙系统是安卓吗,华为鸿蒙,一个本属于2025年的产品
  7. ajax fetch api,fetch 简介: 新一代 Ajax API
  8. 数据库管理学习笔记(一)——实体关系建模
  9. 人工智能还能登上微博热搜?热搜关键词你得看看!
  10. java 指定格式的date_指定格式的日期字符串转化成java.util.Date类型日期对象