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

目前组合数学我学过的

const int Mod = 1e9 + 7;int n, m, d[1000010], fac[1000010], ifac[1000010], h[1000010], stl[1010][1010], stl1[50010][205];int qp(int x, int y){ // 快速幂x %= Mod;int res = 1;while(y){if(y & 1) (res *= x) %= Mod;(x *= x) %= Mod;y >>= 1;}return res;
}void init(){ // 阶乘、逆元预处理ifac[0] = fac[0] = 1;for(int i = 1; i <= 1000; i ++) fac[i] = fac[i - 1] * i % Mod;for(int i = 1; i <= 1000; i ++) ifac[i] = qp(fac[i], Mod - 2);
}void inith(){ // 卡特兰数h[0] = 1;for(int i = 1; i <= 1000000; i ++) h[i] = h[i - 1] * (4 * i - 2) % Mod * qp(i + 1, Mod - 2) % Mod;
}int C(int x, int y){ // 组合数return fac[x] % Mod * ifac[y] % Mod * ifac[x - y] % Mod;
}void init2(){ // 错排d[0] = 1, d[1] = 0, d[2] = 1;for(int i = 3; i <= 1000000; i ++) d[i] = (i - 1) * (d[i - 1] + d[i - 2]) % Mod;
}int calt(int x, bool k){ // 卡特兰; 1:预处理;2:现场处理if(k) return h[x];return (C(2 * x, x) - C(2 * x, x - 1) % Mod + Mod) % Mod;
}void initstl(){ // 第二类斯特林数stl[0][0] = 1;for(int i = 1; i <= 1000; i ++){for(int j = 1; j <= i; j ++){stl[i][j] = (stl[i - 1][j - 1] + j * stl[i - 1][j] % Mod) % Mod;}}
}void initstl1(){// 第一类斯特林数stl1[0][0] = 1;for(int i = 1; i <= 50000; i ++){for(int j = 1; j <= min(i, 200ll); j ++){stl1[i][j] = (stl1[i - 1][j - 1] + (i - 1) * stl1[i - 1][j] % Mod) % Mod;}}
}
http://www.sczhlp.com/news/10600/

相关文章:

  • nim语言的fmt
  • nim语言获取windows用户名
  • 微雪电子发布工业级ESP32-S3-POE工控板:8路隔离IO,双核240MHz赋能AIoT,一根网线解决供电与通信,工业物联网迎来高性价比控制新选择 - 实践
  • DelegatingHandler
  • 8月12日随笔
  • ORACLE --修改表操作 - Yu
  • SpringCloud OpenFeign
  • # 自控红绿灯-最简
  • 服务业推行目标绩效制度的 Tita 解决方案
  • 8月12日
  • MSE Nacos Controller:为 Kubernetes 生态构建配置管理与服务发现的桥梁
  • MySQL - 存储引擎之InooDB后台线程
  • HFSS许可证管理软件推荐
  • SSL自动续签
  • CodeBuddyIDE国际版体验(8月12日)
  • GAS_Aura-The Player State
  • 低空空管系统的技术融合与创新探索
  • Journalctl日志管理
  • AGC能力体验和研讨会(成都)
  • SAP 销售订单BAPI数量没写进去的原因
  • centos配置yum源与安装基础软件
  • 技术人日常避坑手册:高效工作,少踩坑 - IT
  • 平均负载详解
  • OOM Killer
  • 爬取B站视频
  • unordered_map源代码阅读
  • 树上背包学习笔记
  • 「HDU6566-The Hanged Man」题解
  • 从Tushare到Wind,散户的Python量化系统搭建实录
  • 内存溢出、内存泄露、内存逃逸三者的区别