这一题自己做的瞎蒙出了一个,
这个瞎蒙的结论与正确结论满类似的(bushi,正确的结论是.
至于转成逆元,这一题没有必要去打线性的复杂度(实际上是因为自己真的不会),我们直接用快速幂求逆元就可以了。
若整数 , 互质,并且对于任意的整数 ,如果满足 ,则存在一个整数 ,使得,则称 为 的模 乘法逆元,记为 。
存在乘法逆元的充要条件是 与模数 互质。当模数 为质数时, 即为 的乘法逆元。——选自Acwing 876. 快速幂求逆元
而显然易见,998244353为质数,因此可直接采用快速幂求逆元,处理一个询问的复杂度为
代码如下:
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const LL mod=998244353;
LL quick_power(LL a,LL b)
{
LL res=1;
while(b)
{
if(b&1)res=res*a%mod;
a=a*a%mod;
b>>=1;
}
return res;
}
int main()
{
freopen("seat.in","r",stdin);
freopen("seat.out","w",stdout);
int t;
scanf("%d",&t);
while(t--)
{
LL n,k;
scanf("%lld%lld",&n,&k);
printf("%lld\n",(n+1)*(k-1)%mod*quick_power(k+1,mod-2)%mod);
}
return 0;
}