n! 分解质因数

1:找到所有质因数p[i]
2:遍历: n / p + n / p^2 +.....

约数个数

n = (p1 ^ c1) + (p2 ^ c2);
ans = (c1 + 1)(c2 + 1);

欧拉函数

1 - n 中和n 互质的个数
n = (p1 ^ c1) * (p2 ^ c2)
u(n) = n * (1 - 1 / p1) * (1 - 1 / p2);
求欧拉函数

void init(int n)
{
    phi[1] = 1;
    for(int i  = 2; i <= n; ++i)
    {
        if(!vis[i])
        {
            prime[cnt ++] = i;
            phi[i] = i - 1;    
        }    
        for(int j = 0; prime[j] * i <= n; ++i)
        {
            vis[prime[j] * i] = 1;
            if(i % prime[j] == 0)
            {
                phi[i * prime[j]] = phi[i] * prime[j];
                break;
            }
            phi[i * prime[j]] = phi[i] * (prime[j] - 1);
        }
    }    
} 

扩展欧几里得

ax + by = d =>
x = x0 + k * (b / d);
y = y0 - k * (a / d);

ax == c(% b) => ax + by = c;

欧拉定理

a^u(n) == 1(mod n)[a, n 互质]

中国剩余定理

x = 图片说明
Ti 为 mi逆元
Mi 为 M / mi

组合计数

递推法

隔板法

加法原理 / 乘法原理

组合数 / 排列数

1: 递推法
2:阶乘 + 逆元
4: 阶乘求质因子 然后相减
等式 k - 1个板子
不等式 k 个 板子

lucas

C(a,b) = C(a % p, b % p) * C(a / p, b / p)

catalan数列

C(12,6) - C(12,5)
C(2n,n) - C(2n,n-1)

全部评论

相关推荐

10-09 09:39
门头沟学院 C++
HHHHaos:这也太虚了,工资就一半是真的
点赞 评论 收藏
分享
09-11 03:07
已编辑
湖南大学 Java
Lemon2ee:上海,nlp,985,博士,哪怕少一个我都觉得这是假的
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务