摘要:
链接:https://www.nowcoder.com/acm/contest/85/I题目描述 あなたの蛙が帰っています! 蛙蛙完成了一趟旅行,回家啦!但它还是没有去它心中非常想去的几个地方。总共有 N 个它 想去的目的地。蛙蛙下定了决心,它要做一个愿望清单,一定要让自己去那些想去的地方。蛙蛙 是 阅读全文
摘要:
1 //直接法,根据定义求解 欧拉函数,适用于求解少量 2 ll euler_direct(ll x) { 3 ll ans = x; 4 for (ll i = 2; i * i 1) ans = ans / x * (x - 1); 12 return ans; 13 } 14 15 16 //线性筛选法,适用于多求解多个数的欧拉函数 17 ll eu... 阅读全文
摘要:
求解逆元有如下几种方式: 1. 如果 mod 为 素数,那么可以使用费马小定理+快速幂求解 2. 如果 gcd(a,mod)==1 其中,a为求逆元素,并且满足前面的等式保证a存在逆元。 那么可以使用 扩展欧几里得 3. 递推法快速打表求解多个逆元, 要求 mod 必须为奇质数 4. 如果 mod 阅读全文
摘要:
假设 a>b, (1) b=0 gcd(a,b) = a , ax = a , 则x=1,y=0; (2) 假设 ax1+by1=gcd(a,b) (方程一) bx2+(a%b)y2=gcd(b,a%b)(方程二);由欧几里得算法gcd(a,b) =gcd(b,a%b) 得到, ax1+by1 = 阅读全文
摘要:
原理:使用二进制优化和快速幂思想相似 使用场景:一般使用在乘法模数系统中,加快计算速度并且防止溢出 代码:计算 (a*b)%mod 的结果 1 ll q_mult(ll a, ll b ,ll mod){ 2 ll ans = 0; 3 while(b){ 4 if(b&1) 5 ans = (ans + a... 阅读全文