(1)递推题注意别在循环中求逆元\(O(nlogn)\)。
(2)关于逆元,\(\frac{1}{n} = \frac{1}{nm} *m\), 所以\(n^{-1}=m^{-1}n^{-1} * m\)。于是先求右端点逆元再从右往左推。
y[n] = mpow(mpow(a + b, n), mod - 2);
for(int i = n; i > 0; i--)
y[i - 1] = mul(y[i], a + b);
线性求逆元。
inv[0] = inv[1] = 1;
for(int i = 2; i <= n; i++)
inv[i] = mul(mod - mod / i, inv[mod % i]);
(3)也就是说逆元满足乘法的但部分性质,可像乘法一样使用。
(注)inv(n) 是 \(\frac{1}{n}\),而不是\(n\)。