警示后人-如果你逆元WA了三个点还差不出错
查看原帖
警示后人-如果你逆元WA了三个点还差不出错
757869
hysbzdkf楼主2024/10/16 11:13

Hack:

281464621 690534246246 841800462
450193404

出错原因:

如果你的逆元用了特殊的处理方法(如除以 gcd )使得 (a-1) 与模数互质的话,请检查求逆元的两个数是否真的互质

如:

  int gcd=__gcd(a-1,MOD);
//while(__gcd((a-1)/gcd,MOD)!=1)
//	  gcd=gcd*__gcd((a-1)/gcd,MOD);
  int dta=(a-1)/gcd;	
  int ans2=ny(dta);

注释掉的是你也许需要加上的

具体的证明不难,留给后人

2024/10/16 11:13
加载中...