加/减/乘/除 下的取余

x(负数) mod y(正数) = z

其中x<z<=0 , 且(z-x) mod y=0。

求法:z=x+abs(x)/y*y  (这里的除法结果向下取整)

 

所以当求一个数经过各种计算后的取余,只需

ans=(ans+x*y)%yu

ans=(ans-x*y)%yu

ans=ans*x%yu

除法:用线性逆元

 

最后

ans=(ans+yu)%yu  (要是之前有减法运算)

 

posted @ 2017-05-25 22:00  congmingyige  阅读(226)  评论(0编辑  收藏  举报