当前位置: 首页 > news >正文

lucas定理求组合数+错排模板

int jc[M];
int f[M];int ksm(int a,int b){int res=1;while(b){if(b&1)res=res*a%mod;a=a*a%mod;b>>=1;}return res%mod;
}
int c(int a,int b){return jc[a]%mod*ksm(jc[b]*jc[a-b]%mod,mod-2)%mod;
}
int lucas(int a,int b){if(!b)return 1;return (lucas(a/mod,b/mod)*c(a%mod,b%mod))%mod;
}
int n,m;
void solve(){cin>>n>>m;if(n==m){cout<<1<<endl;}else if(n-m==1){cout<<0<<endl;   }else if(m==0){cout<<f[n]<<endl;}else{int ans= (f[n-m]%mod*lucas(n,m))%mod;cout<<ans<<endl;}
}signed main()
{ios::sync_with_stdio(false),cin.tie(0);cout.tie(0);int T=1;cin>>T;f[1]=0;f[2]=1;jc[1]=1;jc[2]=2;for(int i=3;i<=1e6;i++){f[i]=((i-1)*(f[i-1]+f[i-2])%mod)%mod;jc[i]=jc[i-1]*i%mod;}while(T--){solve();}return 0;
}
http://www.gsyq.cn/news/70523.html

相关文章:

  • 备案合规定制化服务方案-自研与微调大模型企业如何备案
  • 算法和大模型备案登记的流程和指南-有哪些备案类型及要求
  • DBUtil
  • 第二篇Scrum冲刺
  • 团队作业4--项目冲刺
  • MyBatis完整教程IDEA版(2)--ResultMap/注解/一对多/多对一/lombok/log4j - 教程
  • Go 语言:类型别名 vs 新类型详解 - 若
  • 第一篇Scrum冲刺
  • 第六篇SCrum冲刺
  • Hudi 文件格式分析
  • 深入解析:微信小程序通过关联公众号发送待办消息:实战指南
  • 生命是一树花开
  • JavaSE--面向对象
  • 歌声转换SVC主流方法原理剖析4 — ReFlow-VAE-SVC
  • 敏捷冲刺日志 - Day 5
  • 深入解析:Spring Kafka消费者被踢出组?CommitFailedException异常全面解析与解决方案
  • 计算机视觉黄金时代的回顾与展望
  • homebrew运行机制
  • 解码构造与析构
  • 朝花夕拾OI回忆录
  • 细胞因子:细胞信使的分子世界与功能解析
  • 87键键盘的数字键对应快捷键含义
  • 深入解析:神经流形:大脑功能几何基础的革命性视角
  • 2025最新成都房屋装修公司推荐!成都家装市场权威榜单发布,品质服务双优助力打造理想家居
  • 2025.12.3
  • 2025最新成都精装房装修公司推荐!家装实力品牌榜单发布,品质服务双优打造理想家居
  • scheme中的辛普森积分
  • sql文件无法设置打开方式为ssms19,重新安装也不行
  • 2025年下半年套管工厂综合推荐榜单:行业专家权威评测
  • 蓝桥杯Python-语法基础-1