O(1)快速乘
参见2009年国家集训队论文,骆可强:《论程序底层优化的一些方法与技巧》
附上代码:
inline ll ksc(ll x,ll y,ll mod) { return (x*y-(ll)((long double)x/mod*y)*mod+mod)%mod; }
因为x,y都是mod意义下的,保证了x*y/mod不会爆long long。
参见2009年国家集训队论文,骆可强:《论程序底层优化的一些方法与技巧》
附上代码:
inline ll ksc(ll x,ll y,ll mod) { return (x*y-(ll)((long double)x/mod*y)*mod+mod)%mod; }
因为x,y都是mod意义下的,保证了x*y/mod不会爆long long。