ll qmi(ll a, ll k)
{
ll res = 1;
while(k)
{
if(k & 1) res = res * a % mod;
a = a * a % mod;
k >>= 1;
}
return res;
}
ll cal()
{
ll res = 1;
for(int i = 1; i <= n; i ++)
{
for(int j = i + 1; j <= n; j ++)
{
while(a[j][i])
{
ll t = a[i][i] * qmi(a[j][i], mod - 2) % mod;
for(int k = i; k <= n; k ++)
a[i][k] = (a[i][k] - t * a[j][k] + mod) % mod;
swap(a[i], a[j]);
res = -res;
}
}
res = (res * a[i][i]) % mod;
}
return (res + mod) % mod;
}
ll t那里除为啥不用逆元啊
谢谢提醒!
没用逆元的我试了,也可以过。。
是的 问了一下 这里类似gcd 到最后一定会是整除的 所以可以不用