idea
- 设模数为\(p\),\(p\)为质数,\(g\)为\(p\)的原根,则\(\{x|x=g^{id}\%p (1 \leq i \leq p-1)\}=\{x|x=g^{i*gcd(p,d)}\%p (1\leq i \leq p-1)\}\)
- \(a^{\phi(p)}\equiv a^{2\phi(p)}(mod\;\;p)\),这对\(a\)和\(p\)没有限制
- 出现那种限制方案数恰好为\(c\)的构造题时,考虑\(p\)进制拆位(\(p\)是自己选的数),构造出\(\times p\)和\(+0,1…,p-1\)的方案
- 求\(1,2,…,n(n\leq 1e6/1e7)\)在模\(p\)意义下逆元(前提是有)时,考虑线性筛——对于质数,exgcd求其逆元,其他的就
inv[prime[j]*i]=ll(inv[i])*inv[prime[j]]%mod;
trick
- 开高维数组时,把小的维开在前面可以显著提升效率(据说是涉及进制转化之类的?)
- 对于一个求出来的答案必须要是小数(比如01分数规划)但是题目要你输出分数时,可以在n阶法雷序列上二分