線性求逆元模板:
int inv[maxn]; void initInverse(){ inv[1] = 1; for(int i = 2; i <= maxn; i++) inv[i] = (p - p/i) * inv[p % i] % p; }
擴展歐幾里得模板
LL exgcd(LL a, LL b, LL &x, LL &y){ if(b == 0){ x = 1; y = 0; return a; } LL ans = exgcd(b, a % b, x, y); LL tmp = x; x = y; y = tmp - a/b * y; return ans; }