组合数(费马小定理, 快速幂)

给定 n 组询问,每组询问给定两个整数 a,b,请你输出 Cbamod(109+7)的值。

输入格式

第一行包含整数 n。

接下来 n 行,每行包含一组 a 和 b。

输出格式

共 n 行,每行输出一个询问的解。

数据范围

1≤n≤10000,
1≤b≤a≤105

输入样例:
3
3 1
5 3
2 2
输出样例:
3
10
1

使用快速幂求解a!,用费马小定理求解后面的逆元

代码:

#include <iostream>using namespace std;typedef long long ll;const int N = 1e5 + 10, mod = 1e9 + 7;ll n, a, b;
ll fact[N], ifact[N];ll qmi(ll a, ll b) {ll res = 1;while (b) {if (b & 1) res = res * a % mod;a = a * a % mod;b >>= 1;}return res;
}void init() {fact[0] = 1;ifact[0] = 1;for (int i = 1; i < N; i ++ ) {fact[i] = fact[i - 1] * i % mod;ifact[i] = ifact[i - 1] * qmi(i, mod - 2) % mod;}
}int main() {init();cin >> n;while (n -- ) {cin >> a >> b;cout << (fact[a] * ifact[b]) % mod * ifact[a - b] % mod << endl;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/800009.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gcc/g++:预编译阶段查看层级依赖可用宏列表

预编译阶段查看层级依赖可用宏列表首先需要找到需要包含头文件的位置&#xff0c;然后进行引入。 示例&#xff1a; 1&#xff09;用户头文件 /*brief design and implements of demo-for-precompile.author wenxuanpeiemail 15873152445163.com(query for any question here…

HBase不过是用个hash算法在逻辑上拼凑的数据表而已,到底有什么厉害的地方?

HBase不过是用个hash算法在逻辑上拼凑的数据表而已&#xff0c;到底有什么厉害的地方&#xff1f; HBase 的核心设计理念是利用哈希算法和键值对&#xff08;key-value pair&#xff09;来达到高效、可扩展的大数据存储和查找。 HBase是一个分布式的、可扩展的、大规模数据存储…

iOS代码加固与保护方法详解 - 提升iOS应用安全性的关键步骤

憧憬blog主页 在强者的眼中&#xff0c;没有最好&#xff0c;只有更好。我们是移动开发领域的优质创作者&#xff0c;同时也是阿里云专家博主。 ✨ 关注我们的主页&#xff0c;探索iOS开发的无限可能&#xff01; &#x1f525;我们与您分享最新的技术洞察和实战经验&#xff0…

基于大模型的态势认知智能体

源自&#xff1a;指挥控制与仿真 作者&#xff1a;孙怡峰, 廖树范, 吴疆 李福林 “人工智能技术与咨询” 发布 摘要 针对战场态势信息众多、变化趋势认知困难的问题,提出基于大模型的态势认知智能体框架和智能态势认知推演方法。从认知概念出发,结合智能体的抽象性、具…

大厂高频面试题复习JAVA学习笔记-JUC多线程及高并发(上)

目录 0 JUC基础概念 wait/sleep的区别 并发与并行的区别 线程的六个状态 JUC结构 ​编辑 1 请谈谈你对volatile的理解 JMM&#xff08;java内存模型&#xff09; 可见性 不保证原子性 有序性​编辑 指令重排 哪些地方用到volatile&#xff1a; 双端检查机制DLC …

MySQL-6.表的高级查询(多表查询、子查询、表复制、合并查询、表外连接)

6.1 多表查询 基于两个或以上表的查询&#xff0c;默认从表1取出一行&#xff0c;与表2的每一行组合&#xff0c;返回的记录数为表1表2&#xff0c;默认返回的结果为笛卡尔集&#xff0c;需写出正确的WHERE条件进行筛选。 多表查询的条件不能少于表的个数-1&#xff0c;否则会…

按关键字搜索商品API接口搜索关键字,显示商品总数,标题,图片,优惠价参数等

按关键字搜索商品API接口通常用于根据关键字搜索商品&#xff0c;并返回商品的相关信息。以下是一个示例&#xff0c;说明如何使用Python调用按关键字搜索商品API接口。 item_search-按关键字搜索淘宝商品 公共参数 API接口请求地址:调用key 名称类型必须描述keyString是调用…

LeetCode刷题之105. 从前序与中序遍历序列构造二叉树

文章目录 1.题目描述2. 分析2.1 前序遍历2.1.1 什么是前序遍历&#xff1f;2.1.2 前序遍历有什么特点&#xff1f; 2.2 中序遍历2.2.1 什么是中序遍历2.2.2 中序遍历有什么特点&#xff1f; 2.3 后序遍历2.3.1 什么是后序遍历&#xff1f;2.3.2 特点 2.4 总结 3. 解法 1.题目描…

漏洞挖掘 | 两个src案例分享

案例一 - 存储型XSS 文前废话:某天正在刷着**社区的帖子,突然间评论区的一条评论引起了我的注意,类似于下面这样 其中字体是蓝色的&#xff0c;这种评论在html标签中代码格式是<a>这是文字</a>这样的链接个格式。 同时评论区XSS漏洞的高发区,想着可能会有操作点 …

vue路由跳转页面

目录 1、打开工程文件夹&#xff0c;cmd到命令窗口 2、安装vue-router 3、在src/router/index.js中创建路由器&#xff0c;并导出 4、在main.js中引入路由 5、声明router-view标签&#xff0c;展示组件内容 6、页面跳转 1、打开工程文件夹&#xff0c;cmd到命令窗口 2、…

每日一题|字符迁移【算法赛】|字符数组+前缀和+差分

每日一题|字符迁移【算法赛】 字符迁移 心有猛虎&#xff0c;细嗅蔷薇。你好朋友&#xff0c;这里是锅巴的C\C学习笔记&#xff0c;常言道&#xff0c;不积跬步无以至千里&#xff0c;希望有朝一日我们积累的滴水可以击穿顽石。 字符迁移 注意&#xff1a; 预习知识&#xf…

C# 字符串和枚举类型互相转换

string 转TEnum if (Enum.IsDefined(typeof(TEnum), s)) {TEnum e (TEnum)Enum.Parse(typeof(TEnum), s); } 或 Enum.TryParse<TEnum>(s, out TEnum e); TEnum 转 string string s e.ToString(); 或 string s Enum.GetName(typepof(TEnum), e);

【InternLM 实战营第二期笔记】使用茴香豆搭建你的RAG智能助理

RAG RAG是什么 RAG&#xff08;Retrieval Augmented Generation&#xff09;技术&#xff0c;通过检索与用户输入相关的信息片段&#xff0c;并结合外部知识库来生成更准确、更丰富的回答。解决 LLMs 在处理知识密集型任务时可能遇到的挑战, 如幻觉、知识过时和缺乏透明、可追…

国产化信创安装tengine代替nginx服务

1.上传最新下载的xxx.tar.gz包&#xff0c;下载地址https://tengine.taobao.org/download.html2.解压tar -xvf xxx.tar.gz cd进入解压的包 可以给予所有权限chmod 777 -R tengine文件夹3.cd 进入tengine文件夹执行编译./configure --prefix/usr/local/nginx --with-http_stub_…

LeetCode-34. 在排序数组中查找元素的第一个和最后一个位置【数组 二分查找】

LeetCode-34. 在排序数组中查找元素的第一个和最后一个位置【数组 二分查找】 题目描述&#xff1a;解题思路一&#xff1a;二分查找&#xff0c;用start bisect.bisect_left(nums, target)。end bisect.bisect_left(nums,target1) -1 之后return [start, end]解题思路二&…

C++STL(list类)

文章目录 1.list类的介绍2.list的基本用法2.1 基本用法2.2 迭代器失效2.3 reverse(逆置)2.3 sort(排序)2.4 unique(去重)2.5 splice(转移) 3.list的底层(模拟实现)3.1 list的3.2 修改链表问题3.3 完整代码 1.list类的介绍 list是可以在常数范围内在任意位置进行插入和删除的序列…

vue3使用@antv/x6-边工具的右键菜单实现

官方文档是react实现的&#xff0c;但项目里使用的vue3elementPlus&#xff0c;经过研究后通过以下方式实现&#xff1a; 在根目录的index.html里添加右键菜单的元素 <body> <!-- 模型的自定义工具容器 --><div id"graph-dropdown"></div>…

Leetcode面试经典150_Q27移除元素

题目&#xff1a;给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组…

vue快速入门(十)v-bind动态属性绑定

注释很详细&#xff0c;直接上代码 上一篇 新增内容 图片切换逻辑动态绑定的完整写法与简写方法 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice…

Ceph常用命令总结

查看集群健康状态 ceph -s 集群状态总览ceph health detail 集群状态详情ceph df 查看集群容量及使用率 osd相关 ceph osd tree 查看osd树形图ceoh osd df 查看osd使用率ceph osd df | sort -nr -k17 | head 查看osd使用率排序ceph osd down <ids> [<ids>...] 将…