news 2026/4/15 8:08:00

信息学奥赛一本通 1656:Combination

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
信息学奥赛一本通 1656:Combination

【题目链接】

ybt 1656:Combination

【题目考点】

1. 卢卡斯定理(Lucas定理)

相关知识见:洛谷 P3807 【模板】卢卡斯定理

2. 乘法逆元

相关知识见:洛谷 P1082 [NOIP 2012 提高组] 同余方程

3. 求组合数

相关知识见:【模板:求组合数】洛谷 P1313 [NOIP 2011 提高组] 计算系数

【解题思路】

本题求C n m m o d 10007 C_n^m \bmod 10007Cnmmod10007,其中n nnm mm最大可以达到2 ∗ 10 8 2*10^82108
如果直接保存[ 1 , 2 ∗ 10 8 ] [1,2*10^8][1,2108]范围内的所有数的阶乘模10007的值,需要长为2 ∗ 10 8 2*10^82108的int类型的数组,其占用内存空间为:
2 ∗ 10 8 ∗ 4 / 1024 = 781250 K B 2*10^8*4/1024=781250KB21084/1024=781250KB,而本题内存限制为524288 K B 524288KB524288KB,该方法会内存超限

因此本题需要使用卢卡斯定理,缩小求组合数C n m C_n^mCnmn nnm mm的值。
卢卡斯定理的原理,及代码写法见:洛谷 P3807 【模板】卢卡斯定理
本题也是卢卡斯定理的模板题,与上题要求十分相近,解题代码也几乎一样,具体做法不再赘述。

【题解代码】

解法1:卢卡斯定理

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongLL;constintN=10010,P=10007;LL t,n,m,fac[N],facInv[N];LLfastPow(LL a,LL b,LL m){LL r=1;while(b>0){if(b%2==1)r=r*a%m;a=a*a%m;b/=2;}returnr;}voidinitFac(LL n,LL M){fac[0]=1;for(inti=1;i<=n;++i)fac[i]=fac[i-1]*i%M;facInv[n]=fastPow(fac[n],M-2,M);for(inti=n-1;i>=0;--i)facInv[i]=facInv[i+1]*(i+1)%M;}LLcomb(LL n,LL m,LL M){if(n<m)return0;returnfac[n]*facInv[n-m]%M*facInv[m]%M;}LLlucas(LL n,LL m,LL P){if(m==0)return1;returncomb(n%P,m%P,P)*lucas(n/P,m/P,P)%P;}intmain(){initFac(P-1,P);cin>>t;while(t--){cin>>n>>m;cout<<lucas(n,m,P)<<endl;}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/12 0:27:58

为Labelme2YOLO项目撰写技术推广文章的Prompt

为Labelme2YOLO项目撰写技术推广文章的Prompt 【免费下载链接】Labelme2YOLO Help converting LabelMe Annotation Tool JSON format to YOLO text file format. If youve already marked your segmentation dataset by LabelMe, its easy to use this tool to help converting…

作者头像 李华
网站建设 2026/4/10 0:21:34

IguanaTex:让LaTeX公式在PowerPoint中轻松呈现

IguanaTex&#xff1a;让LaTeX公式在PowerPoint中轻松呈现 【免费下载链接】IguanaTex A PowerPoint add-in allowing you to insert LaTeX equations into PowerPoint presentations on Windows and Mac 项目地址: https://gitcode.com/gh_mirrors/ig/IguanaTex 还在为…

作者头像 李华
网站建设 2026/4/13 10:12:30

Vue审批流程组件终极指南:从零构建企业级工作流系统

Vue审批流程组件终极指南&#xff1a;从零构建企业级工作流系统 【免费下载链接】Workflow 仿钉钉审批流程设置 项目地址: https://gitcode.com/gh_mirrors/work/Workflow 还在为复杂的审批流程配置而烦恼吗&#xff1f;这款基于Vue.js的开源工作流组件将彻底改变你的企…

作者头像 李华
网站建设 2026/4/8 19:39:49

RevokeMsgPatcher防撤回工具实战指南:轻松拦截所有被撤回消息

RevokeMsgPatcher防撤回工具实战指南&#xff1a;轻松拦截所有被撤回消息 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁&#xff08;我已经看到了&#xff0c;撤回也没用了&#xff09; 项目地址: https://git…

作者头像 李华
网站建设 2026/4/14 2:19:04

5分钟快速搞定Axure中文界面:完整汉化终极指南

5分钟快速搞定Axure中文界面&#xff1a;完整汉化终极指南 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包&#xff0c;不定期更新。支持 Axure 9、Axure 10。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Ax…

作者头像 李华
网站建设 2026/4/10 8:14:25

前端开发者的AI尝试:Z-Image-Turbo嵌入网站可能性

前端开发者的AI尝试&#xff1a;Z-Image-Turbo嵌入网站可能性 引言&#xff1a;当AI图像生成遇上Web前端 在AI技术快速渗透各行各业的今天&#xff0c;前端开发者不再只是UI的构建者&#xff0c;更可以成为智能体验的缔造者。阿里通义实验室推出的 Z-Image-Turbo WebUI 是一款…

作者头像 李华