线性求逆元

inv[0] = inv[1] = 1;
for (int i = 2; i < N; ++ i) {
	f[i] = f[i - 1] * i % mod;
	inv[i] = (mod - mod / i) * inv[mod % i] % mod;
}

当N过大但查询的点少的时候可以递归求逆元

int GetInv(int n) {
	if (n == 1) return 1;
	return (mod - mod / n) * (GetInv(mod % n)) % mod;
}
posted @ 2023-06-13 19:54  觉清风  阅读(4)  评论(0编辑  收藏  举报