1.线性
ll inv[N]; void init(ll p) {inv[1]=1;for(ll i=2;i)inv[i]=(p-p/i)*inv[p%i]%p; }
2.费马小定理:当模数是素数,a^(p-1)=1(mod p) 那么a^(p-2)=a^-1(mod p) ,也就是说a的逆元为a^(p-2),
当模数不是素数,有欧拉定理 ,a^phi(m)=1(mod m) (a⊥m) ,同理a^-1=a^(phi(m)-1)
1.线性
ll inv[N]; void init(ll p) {inv[1]=1;for(ll i=2;i)inv[i]=(p-p/i)*inv[p%i]%p; }
2.费马小定理:当模数是素数,a^(p-1)=1(mod p) 那么a^(p-2)=a^-1(mod p) ,也就是说a的逆元为a^(p-2),
当模数不是素数,有欧拉定理 ,a^phi(m)=1(mod m) (a⊥m) ,同理a^-1=a^(phi(m)-1)
转载于:https://www.cnblogs.com/acjiumeng/p/8438897.html
需要用到概率论的容斥定理以及计算1 ^ 4 + 2 ^ 4 + ……+ n ^ 4的计算公式1^4+2^4+……+n^4=n(n+1)(2n+1)(3n^2+3n-1)/30 #pragma comment(linker,"/STACK:1024000000,1024000000")
#include
L1-056 猜数字 (20 分) 一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。 输入格式: 输入在第一行给出一个正整数N(≤104)。随后 N 行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数(≤ 100)。 输出格式: 在一行中...
达哥送分给我我都不要,感觉自己挺牛批。 $type=0:$ 跟visit那题类似,枚举横向移动的步数直接推公式: $ans=sum C_n^i imes C_i^{frac{i}{2}} imes C_{n-i}^{frac{n-i}{2}},i\% 2=0$ $type=1:$ 因为不能触碰负半轴,所以可以把右移看成...
题目链接 题意:给你三个数n,m,k;让你构造出一个nm的矩阵,矩阵元素只有两个值(1,-1),且满足每行每列的乘积为k,问你多少个矩阵。 解法:首先,如果n,m奇偶不同,且k=-1时,必然无解: 设n为奇数,m为偶数,且首先要满足每行乘积为-1,那么每行必然有奇数个-1,那么必然会存在有偶数个-1.。满足每列乘积为-1,那么每列必...
Description 有 n 种数字,第 i 种数字是 ai、有 bi 个,权值是 ci。 若两个数字 ai、aj 满足,ai 是 aj 的倍数,且 ai/aj 是一个质数, 那么这两个数字可以配对,并获得 ci×cj 的价值。 一个数字只能参与一次配对,可以不参与配对。 在获得的价值总和不小于 0 的前提下,求最多进行多少次配对...
快速幂 1 #include