当前位置: 首页 > 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.jsqmd.com/news/60007/

相关文章:

  • 第三篇Scrum冲刺
  • 2025.12.3总结
  • DBUtil
  • 印度七大声控AI初创企业技术盘点
  • 第二篇Scrum冲刺
  • 02 安装与运行
  • 团队作业4--项目冲刺
  • 03 HTTP请求的url路由
  • MyBatis完整教程IDEA版(2)--ResultMap/注解/一对多/多对一/lombok/log4j - 教程
  • 以 Core i9-13900HX 实例讲解CPU概念:物理CPU,内核,逻辑CPU
  • 图书馆管理系统团队作业4-项目冲刺
  • C语言之折中查找
  • 【第七章:时间序列模型】3.时间序列实战:使用时序模型进行股票预测实战 - 实践
  • 罗克韦尔Micro850 PLC和欧姆龙NJ互通离不开Modbus工业物联网技术支撑
  • 一条不太寻常的路 —— AFO 退役记 -
  • Go 语言:类型别名 vs 新类型详解 - 若
  • pytest高级用法之mark
  • 20232320 2025-2026-1 《网络与系统攻防技术》实验八实验报告
  • 第一篇Scrum冲刺
  • Vibe Coding - 深度解读规范驱动制作(SDD):对 Kiro、spec-kit、Tessl 三大设备的剖析与实践
  • 第六篇SCrum冲刺
  • Hudi 文件格式分析
  • ai故事生成报告 - f
  • 落山基唬人队-冲刺总结
  • 深入解析:微信小程序通过关联公众号发送待办消息:实战指南
  • 团队作业4
  • 生命是一树花开
  • 深入解析:【5】理解GUID和Handle:解锁UEFI驱动和应用程序的钥匙
  • JavaSE--面向对象
  • 歌声转换SVC主流方法原理剖析4 — ReFlow-VAE-SVC