容斥:奇加偶减
全错位排序(公式):f(n)=(n-1)(f(n-1)+f(n-2)) ( f(1)=0, f(2)=1 )
f(n)=nf(n-1)+(-1)^(n) 或者f(n)=nf(n-1)+(-1)^(n-2)
组合数
for (int i=0; i<maxn; i++) { for (int j=0; j<=min(110, i); j++) { if (j==0) c[i][j]=1; else c[i][j] = (c[i-1][j] + c[i-1][j-1]) % mod; } }
海伦公式: (公式中a,b,c分别为三角形三边长,p为半周长,S为三角形的面积)
欧拉公式: (p1,p2...pn是x的所有质因子。φ(12)=12*(1-1/2)*(1-1/3)=4
若n是质数p的k次幂, ,因为除了p的倍数外,其他数都跟n互质。
欧拉函数是积性函数——若m,n互质,
int euler(int n){ int res=n,a=n; for(ll i=2;i*i<=a;i++){ if(a%i==0){ res=res/i*(i-1); //先除再乘 害怕越界 while(a%i==0) a/=i; } } if(a>1) res=res/a*(a-1); return res; }
费马小定理:假如p是质数,且gcd(a,p)=1,那么 a(p-1)≡1(mod p),即:假如a是整数,p是质数,且a,p互质(即两者只有一个公约数1),那么a的(p-1)次方除以p的余数恒等于1。