同余
扩展欧几里得算法(exgcd)详解
线性同余方程
使用\(exgcd\)解决,详解看这里
本质上就是同余方程转化为二元一次不定方程,用\(exgcd\)来解。\(k|(a-b)\)可转化为\(a\)
乘法逆元详解
可以用来干很多事。
- 分数取模。
\(b\)模\(p\)意义下的逆元\(b^{-1}=b^{p-2}(mod\ p)\)
所以\((a/b)mod\ p\)就是\(a*b^{p-2}(mod\ p)\)。 - 线性求逆元 不细讲,上面有。
中国剩余定理
看这里和一本通上的讲解。
其实记住定理就行了,那个定理很重要
子序列\([l,r]\)能被k整除,那末\(k|(sum[r]-sum[l-1])\),所以统计有多少个子区间和能被k整除,可统计每个\(sum[i]\ mod\ k\)出现多少次。(例)
沿着环跳,落下的位置可视为起始位置加上条约距离模环长(例)