一些很妙的idea/被教做人的trick

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阶法雷序列上二分

猜你喜欢

转载自www.cnblogs.com/PsychicBoom/p/11779685.html