首页 > 其他分享 >【学习笔记】组合数

【学习笔记】组合数

时间:2023-01-11 14:12:30浏览次数:41  
标签:return 组合 int res inv 笔记 学习 fac equiv

fac数组是阶乘,inv是阶乘逆元,都是mod p意义下的

组合数\(\binom{n}{m}=\frac{n!}{m!(n-m)!}\),所以要求逆元

费马小定理\(a^{p-1}\equiv a^p-1\equiv 1\pmod p\),\(aa^{p-2}=a^{p-1}\equiv 1\),所以a的乘法逆元\(\equiv a^{p-2}\pmod p\)

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+5;
const int p=1e9+7;
int power(int x,int k){
	int res=1;
	while(k){
		if(k&1) res=res*x%p;
		x=x*x%p;
		k>>=1;
	}
	return res;
}
int fac[N],inv[N];
int c(int n,int m){
	return fac[n]*inv[m]%p*inv[n-m]%p;
}
main(){
	fac[0]=1;
	for(int i=1;i<=N;i++) fac[i]=fac[i-1]*i%p;
	inv[N]=power(fac[N],p-2);
	for(int i=N-1;i>=0;i--) inv[i]=inv[i+1]*(i+1)%p;
	return 0;
}

标签:return,组合,int,res,inv,笔记,学习,fac,equiv
From: https://www.cnblogs.com/liaiyang/p/17043526.html

相关文章

  • 学习-自增id++的问题
     代码示例:let id = 0 const todos = ref([  { id: id++, text: 'Learn HTML' },  { id: id++, text: 'Learn JavaScript' },  { id: i......
  • MySql基础-笔记2 -数据库创建、删除、选择等操作
    在MySql数据库基础1-Windows下安装配置图文教程的基础上,我们来了解如何对数据库进行操作,比如常见的创建数据库、删除数据库、选择数据库等;(目录)1、连接数据库简单的方......
  • 【做题笔记】动态规划专题(DP)
    这里记录笔者这几天做的有关于dp的题目。树形dp#1P1122最大子树和题目链接:https://www.luogu.com.cn/problem/P1122题意:选出一个联通分量,使得联通分量的点的点权......
  • 笔记
    一、Linuxvim编辑器y复制w选择单词p粘贴noh取消高亮模式setnu显示行号/单词查找单词(n下一个N上一个)%s/old单词/new单词/g替换全部单词系统管......
  • MASA学习和总结
    一、MASA概述MASA是温州数闪科技推出的开源产品,目前有三个产品线,分别是MASAStack,MASAFramework,MASABlazor。MASAStack:是一个开源、企业级、云原生技术底座(技术中台......
  • 操作系统学习
        GNUGRUB系统引导程序:https://www.pendrivelinux.com/boot-multiple-iso-from-usb-via-grub2-using-linux/  ......
  • ROS学习
    ROS发展史     通信计算图:         $roscore  ##启动ROSMaster$rosrunturtlesimturtlesim_node ##运行功能包中的节点$ros......
  • Docker学习笔记:login、logout登录登出
    一、login登录dockerlogin登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库DockerHub。#语法dockerlogin[OPTIONS][SERVER]Options:-p,-......
  • 联邦学习 (FL) 中常见的3种模型聚合方法的 Tensorflow 示例
    联合学习(FL)是一种出色的ML方法,它使多个设备(例如物联网(IoT)设备)或计算机能够在模型训练完成时进行协作,而无需共享它们的数据。“客户端”是FL中使用的计算机和......
  • Matplotlib 学习
    Matplotlib图像组成:Figure:指整个图形,您可以把它理解成一张画布,它包括了所有的元素,比如标题、轴线等;Axes:绘制2D图像的实际区域,也称为轴域区,或者绘图区;Axis:指坐标系中......