题目
题解
貌似是北航2016集训队选拔赛题的另一版本
很容易发现是组合数,预处理下阶乘和逆元的前缀和,O(1)计算下组合数即可。但是蒟蒻还是不懂啥是逆元所以很麻烦很麻烦。
乘法逆元
那么现在就要开始证明这个公式了,要么是扩展欧几里得要么是费马小定理。好吧,又引出一系列问题,费马小定理与扩展欧几里得。
费马小定理
费马小定理(Fermat Theory)是数论中的一个重要定理,其内容为: 假如p是质数,且gcd(a,p)=1,那么 a(p-1)≡1(mod p)。即:假如a是整数,p是质数,且a,p互质(即两者只有一个公约数1),那么a的(p-1)次方除以p的余数恒等于1。
证明:
对于证明费马小定理又需要很多东西
完全剩余系
从模n的每个剩余类中各取一个数,得到一个由n个数组成的集合,叫做模n的一个完全剩余系。有以下几个常用性质:
简化剩余系
也叫做缩系、既约剩余系。在模n的值与n互质的全部剩余类中,从每一类中各任取一数所组成的数的集合,叫做模n的一个简化剩余系,也叫缩系。也可以理解为,在每个剩余类选取至1个与m互素代表元构成简化剩余系。
例如,模n的简化剩余系就是小于n且与n互素的整数的集合。
例1:模10的简化剩余系为1,3,7,9 。
例2:模30的简化剩余系为1,7,11,13,17,19,23,29 。
模n的简化剩余系中元素的个数为φ(n)(既欧拉函数)
剩余类
一个整数被正整数n除后,余数有n种情形:0,1,2,3,…,n-1,它们彼此对模n不同余。这表明,