数论

数论

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-03 11:54:17
数论llllllllllll ╮(╯▽╰)╭ 最蛋疼的东西 组合数公式: C(n,m)=n!/((n-m)!*m!) 来源: https://www.cnblogs.com/Lamboofhome/p/11795007.html

有关数论的杂项

耗尽温柔 提交于 2019-12-03 04:48:50
数论 \(gcd\) & \(exgcd\) gcd \[\gcd(a,b)=\gcd(b,a mod b)\] 这个结论还是比较显然的 给出代码: struct node { int l,r;LL v;//这里官方写法加了一个mutable,看个人写法 node(int L,int R,LL V):l(L),r(R),v(V){} bool operator < (const node& o) const { return l<o.l; } }; exgcd 什么是 exgcd 呢---- 就是解 \[ ax+by=\gcd(a,b)\] 这样的方程 那么怎么解呢? 首先有一个非常显然的结论 \[ax+by=\gcd(a,b)\] \[bx+(a \bmod b)y=\gcd(b,a \bmod b)\] 是同解的 那么可以递归求到解集 我们给出边界条件 \[ax+by=\gcd(a,b) (a=1,b=0)\] 时有 \(x=1,y=0\) 为其边界解 来源: https://www.cnblogs.com/shes/p/11778442.html

数论小节

◇◆丶佛笑我妖孽 提交于 2019-12-03 02:50:23
做个备忘录把…… 二项式反演: 令 \(f_i\) 表示至少选择 \(i\) 个, \(g_i\) 表示敲好选择 \(i\) 个 \(f_i=\sum_{j=0}^i \dbinom{n}{j}*g_j\) \(g_i=\sum_{j=0}^{i}(-1)^{i-j}\dbinom {n}{j}f_j\) 范德蒙德卷积: \(\dbinom{n}{k}=\sum_{i=0}^k\dbinom{m}{i}*\dbinom{k-i}{n-m}\) 组合数无名公式: \(\dbinom{m}{i}*\dbinom{i}{j}=\dbinom{m}{i}*\dbinom{m-j}{i-j}\) 中国剩余定理: \(M_i=lcm/m_i, x_i=M_i^{-1}(mod\ m_i)\) \(Ans=\sum_{i=1}^n x_i*a_i*M_i(mod\ lcm)\) 第二类斯特林数: \(S(n, m)=\dfrac{1}{m!}*\sum_{k=0}^m(-1)^k*\dbinom{m}{l}*(m-k)^n\) \(n^k=\sum_{i=0}^kS(k, i) * i! *\dbinom{n}{i}\) 康拓展开: \(\sum_{i=1}^n(s_i-\sum_{j=1}^{i-1}[s_j<s_i])*(n-i+1)!\) 拉格朗日插值: \(f(k)=\sum_{i=0}

数论小节

匿名 (未验证) 提交于 2019-12-03 00:15:02
做个备忘录把…… 令 \(f_i\) 表示至少选择 \(i\) 个, \(g_i\) 表示敲好选择 \(i\) 个 \(f_i=\sum_{j=0}^i \dbinom{n}{j}*g_j\) \(g_i=\sum_{j=0}^{i}(-1)^{i-j}\dbinom {n}{j}f_j\) \(\dbinom{n}{k}=\sum_{i=0}^k\dbinom{m}{i}*\dbinom{k-i}{n-m}\) \(\dbinom{m}{i}*\dbinom{i}{j}=\dbinom{m}{i}*\dbinom{m-j}{i-j}\) \(M_i=lcm/m_i, x_i=M_i^{-1}(mod\ m_i)\) \(Ans=\sum_{i=1}^n x_i*a_i*M_i(mod\ lcm)\) \(S(n, m)=\dfrac{1}{m!}*\sum_{k=0}^m(-1)^k*\dbinom{m}{l}*(m-k)^n\) \(n^k=\sum_{i=0}^kS(k, i) * i! *\dbinom{n}{i}\) \(\sum_{i=1}^n(s_i-\sum_{j=1}^{i-1}[s_j<s_i])*(n-i+1)!\) \(f(k)=\sum_{i=0}^ny_i* \prod_{i!=j}\dfrac{k-x_j}{x_i-x_j}\) 来源:博客园 作者:

狄利克雷卷积 &amp;&amp; 莫比乌斯反演

匿名 (未验证) 提交于 2019-12-03 00:11:01
数论函数及其运算 数论函数 是指定义域是正整数,值域是一个数集的函数。 加法,逐项相加,即 ; 数乘,这个数和每一项都相乘,即 狄利克雷卷积 定义两个数论函数的狄利克雷卷积 若 ,则 ,又或者写成 。 卷积性质 交换律 : \(f*g=g*f\) 结合律 : \((f*g)*h=f*(g*h)\) 分配律 : \((f+g)*h=f*h+g*h\) 单位元 : ,其中 逆 元 : 对于每个 \(f(1)\not=0\) 的 \(f\) ,都存在一个 \(g\) ,使得 \(f*g=\epsilon\) , \(g\) Ϊ \(f\) 的逆。 定义不再重复。 常见的积性函数 : 1. \(\phi(n)=n\prod_{i=1}^{k}{\frac{p_i-1}{p_i}}\) 2. ,特别的记 3. 4. 积性函数性质 1.积性函数的狄利克雷卷积还是积性函数。 2.积性函数的逆还是积性函数。 由积性函数的性质可知,通过计算出它在质因子幂处的取值,就可以得到它本身的值。 例如: 另外,容易发现 ,由性质1可得 。 运用上述知识,从卷积的角度来认识莫比乌斯反演。 首先重新认识一下 ,定义 Ϊ 的逆。 由于 \(I\) 是积性的,而 \(\mu\) 是 \(I\) 的逆,所以 也是积性的。 利用 ,可以得出: \[ \mu(p^k)=\cases{1\ \ \ \ \ k=0\\-1\

Codeforces Round #554 (Div. 2) C 数论

匿名 (未验证) 提交于 2019-12-02 23:33:01
https://codeforces.com/contest/1152/problem/C a和b,找到k,使得lcm(a+k,b+k)最小(a,b:1e9) 设gcd=gcd(a+k,b+k)且 \(a<b\) ,即(a+k)%gcd=0,(b+k)%gcd=0,(a+k)%gcd=(b+k)%gcd,a%gcd=b%gcd 移项得b%gcd-a%gcd=0,(b-a)%gcd=0 枚举b-a的因数即gcd,维护最小值 #include<bits/stdc++.h> #define ll long long using namespace std; ll a,b,ans,ansk,k,tp,x; int main(){ scanf("%lld%lld",&a,&b); if(a>b)swap(a,b); ans=a/__gcd(a,b)*b; ansk=0; for(ll i=1;i*i<=(b-a);i++){ //cout<<i<<endl; if((b-a)%i)continue; x=i; if(a%x!=b%x)continue; if(a%x){ k=x-a%x; tp=(a+k)/__gcd(a+k,b+k)*(b+k); if(tp<ans){ ans=tp;ansk=k; }else if(tp==ans&&k<ansk){ ansk=k; } } x=(b-a