const int MOD=998244353;
const int PHI=MOD-1;
int qpow(int x,int e){
int ret=1;
for(;e;e>>=1,x=1ll*x*x%MOD) if(e&1) ret=1ll*ret*x%MOD;
return ret;
}
int _qpow(int x,int e){
int ret=1;
for(;e;e>>=1,x=1ll*x*x%PHI) if(e&1) ret=1ll*ret*x%PHI;
return ret;
}
這明顯可以透過傳參來合併成一個,但為什麼要拆成兩個呢?
不拆,在本地很快,但在洛谷就很慢,慢至少 100 倍。