------数学------
文章平均质量分 72
qq_43520313
这个作者很懒,什么都没留下…
展开
-
第一类斯特林数·行
题目求xn‾=∑i=0n[ni]xix^{\overline{n}}=\sum_{i=0}^{n}\begin{bmatrix}n\\i\end{bmatrix}x^ixn=i=0∑n[ni]xi在取模modmodmod意义下思路x2k‾=xk‾(x+k)k‾x^{\overline{2k}}=x^{\overline{k}}(x+k)^{\overline{k}}x2k=xk(x+k)k。假设知道xk‾x^{\overline{k}}xk就能快速求出(x+k)k‾(x+k)^{\over原创 2021-03-30 22:35:44 · 110 阅读 · 0 评论 -
如何优雅地求和
题目https://uoj.ac/problem/269给定mmm次多项式f(x),n,xf(x),n,xf(x),n,x,求Q(f,n,x)=∑i=0nf(i)(ni)xi(1−x)n−iQ(f,n,x)=\sum_{i=0}^{n}f(i){n\choose i}x^i(1-x)^{n-i}Q(f,n,x)=i=0∑nf(i)(in)xi(1−x)n−if(x)f(x)f(x)给定点值表示法。n≤109n\le 10^9n≤109思路把多项式转换成下降幂表示,假设f(x)=∑i=0原创 2021-03-28 20:29:01 · 124 阅读 · 0 评论 -
点值转下降幂
对于n−1n-1n−1次多项式f(x)f(x)f(x),给定a0,a1..an−1a_0,a_1..a_{n-1}a0,a1..an−1,其中ai=f(i)a_i=f(i)ai=f(i),求f(x)f(x)f(x)得下降幂表示。即f(x)=∑i=0n−1fixi‾[x≥i]f(x)=\sum_{i=0}^{n-1}f_ix^{\underline{i}}[x\ge i]f(x)=i=0∑n−1fixi[x≥i]求出fif_ifif(i)=∑j=0n−1fjij‾[i≥j]0≤i≤n原创 2021-03-28 19:43:34 · 156 阅读 · 0 评论 -
简单的函数
题目https://loj.ac/p/6053求∑i=1nf(i) mod 109+7\sum_{i=1}^{n}f(i)\ mod\ 10^9+7i=1∑nf(i) mod 109+7f(1)=1f(1)=1f(1)=1f(pc)=p⊕cf(p^c)=p\oplus cf(pc)=p⊕c,ppp为质数f(ab)=f(a)f(b)f(ab)=f(a)f(b)f(ab)=f(a)f(b),(a,b)=1(a,b)=1(a,b)=1思路Min25Mi原创 2021-03-24 19:22:33 · 62 阅读 · 0 评论 -
Sanrd
题目https://uoj.ac/problem/188求∑i=lrf(i)\sum_{i=l}^{r}f(i)i=l∑rf(i)f(i)f(i)f(i)是iii的次大质因子,如果是素数或111,则为000。l+r≤1011l+r\le 10^{11}l+r≤1011思路考虑Min25Min25Min25筛时的SSS函数的dpdpdp,素数部分贡献是000,则只有合数的贡献S(n,j)=∑i=j+1π(n)∑e=1pie≤n(f(pie)[e>1]+∑k=2⌊npie⌋f(piek原创 2021-03-23 20:01:14 · 107 阅读 · 0 评论 -
Min_25筛
题目一般要求∑i=1nF(i)n≤1010\sum_{i=1}^{n}F(i)\quad n\le 10^{10}i=1∑nF(i)n≤1010其中F(x)F(x)F(x)是积性函数。Min25Min25Min25筛能用的前提:质数处的f(p)f(p)f(p)值是关于ppp的低阶多项式,质数次方处的f(pe)f(p^e)f(pe)值可以快速计算。约定pip_ipi表示第iii个素数,下标从111开始P\mathbb{P}P表示素数的集合π(n)\pi(n)π(n)表示1∼n1\sim原创 2021-03-21 21:48:23 · 77 阅读 · 0 评论 -
Min_25筛模板
题目https://www.luogu.com.cn/problem/P5325定义积性函数f(x)f(x)f(x),且f(pk)=pk(pk−1)(p为质数)f(p^k)=p^k(p^k-1)(p为质数)f(pk)=pk(pk−1)(p为质数),求∑i=1nf(i)\sum_{i=1}^{n}f(i)i=1∑nf(i)对109+710^9+7109+7取模。n≤1010n\le 10^{10}n≤1010。思路把f(p)=p2−pf(p)=p^2-pf(p)=p2−p拆成两个完全积性函原创 2021-03-18 20:41:14 · 81 阅读 · 0 评论 -
frogs
https://blog.csdn.net/qingshui23/article/details/73091006原创 2021-03-10 21:39:15 · 117 阅读 · 0 评论 -
反演
二项式反演∑i=jn(−1)i−j(ni)(ij)=(nj)[n−j=0]①\sum_{i=j}^{n}(-1)^{i-j}{n\choose i}{i\choose j}={n\choose j}[n-j=0]\quad ①i=j∑n(−1)i−j(in)(ji)=(jn)[n−j=0]①证明∑i=jn(−1)i−j(ni)(ij)=∑i=jn(−1)i−j(nj)(n−ji−j)=(nj)∑i=jn(−1)i−j(n−ji−j)=(nj)∑i=0n−j(−1)i(n−ji)=(nj)(原创 2021-03-08 14:35:35 · 114 阅读 · 0 评论 -
多项式模板
#include<bits/stdc++.h>#define ll long longusing namespace std;const int N=2100009;const ll mod=998244353,G=3;//G是mod的原根int n,m;ll a[N],b[N];int bit,lim,r[N];//lim表示当前运算的长度ll ln[N],inv[N],tmp[N],diff[N],integral[N],sqr[N],quotient[N],remain原创 2021-02-15 14:23:10 · 92 阅读 · 0 评论 -
欧拉定理
an mod p={an mod φ(p)gcd(a,p)=1a(n mod φ(p))+φ(p)n≥φ(p)a^n\ mod\;p=\begin{cases}a^{n\;mod\;\varphi(p)}\quad gcd(a,p)=1\\a^{(n\;mod\;\varphi(p))+\varphi(p)}\quad n\ge\varphi(p)\end{cases}an modp={anmodφ(p)gcd(a,p)=1a(nmodφ(p))+φ(p)n≥φ(p)原创 2020-08-26 13:18:16 · 79 阅读 · 0 评论 -
线性递推逆元
首先1−1≡1 mod p1^{-1}\equiv1\ mod\;p1−1≡1 modp设p=ki+r(0≤r<i)p=ki+r(0\le r<i)p=ki+r(0≤r<i),则ki+r≡0 mod p乘i−1k+ri−1≡0 mod p乘r−1kr−1+i−1≡0 mod pi−1≡−kr−1 mod p\begin{aligned}ki+r&\equiv0\ mod\; p\quad 乘i^{-1}\原创 2020-08-28 01:33:23 · 377 阅读 · 0 评论 -
扩展中国剩余定理
求{x≡a1 mod m1x≡a2 mod m2...x≡an mod mn\begin{cases}x\equiv a_1\ mod\;m_1\\x\equiv a_2\ mod\;m_2\\...\\x\equiv a_n\ mod\;m_n\\\end{cases}⎩⎪⎪⎪⎨⎪⎪⎪⎧x≡a1 modm1x≡a2 modm2...x≡an modmn先考虑两组{x≡a1 mod m1(1)x原创 2020-08-29 01:26:45 · 116 阅读 · 1 评论 -
组合数学常用公式
常用公式k(rk)=r(r−1k−1)(rk)=(r−1k)+(r−1k−1)(rk)=(−1)k(k−r−1k)(rm)(mk)=(rk)(r−km−k)∑k≤n(r+kk)=(r+n+1n)∑k=0n(km)=(n+1m+1)n,m≥0\begin{aligned}k{r\choose k}&=r{r-1\choose k-1}\\{r\choose k}&={r-1\choose k}+{r-1\choose k-1}\\{r\choose k}&=(-1)^k{k-原创 2020-11-14 19:14:06 · 273 阅读 · 0 评论 -
分治FFT的优化
给定两个数组aaa,bbb,求ccc满足ci=∑j=0iajbi−j0≤i≤n−1c_i=\sum_{j=0}^{i}a_jb_{i-j}\quad 0\le i\le n-1ci=j=0∑iajbi−j0≤i≤n−1如果aaa或者bbb有一段前缀为000,比如a0=a1=a2=...=ak=0a_0=a_1=a_2=...=a_k=0a0=a1=a2=...=ak=0,那么不用计算就知道了c0=c1=c2=...=ck=0c_0=c_1=c_2=...=c_k=0c0=c1=c原创 2020-10-27 22:47:15 · 175 阅读 · 0 评论 -
单位根反演
单位根反演[n∣k]=1n∑i=0n−1ωnki[n|k]=\frac{1}{n}\sum_{i=0}^{n-1}\omega^{ki}_n[n∣k]=n1i=0∑n−1ωnki证明当n∣kn|kn∣k时,设k=npk=npk=np,则1n∑i=0n−1ωnnpi mod n=1n∑i=0n−1ωn0=1\frac{1}{n}\sum_{i=0}^{n-1}\omega^{npi\;mod\;n}_n=\frac{1}{n}\sum_{i=0}^{n-1}\omega^0_n=1n原创 2020-10-24 20:27:21 · 168 阅读 · 0 评论 -
数学归纳法证明差分公式
nnn阶差分Δnf(x)=∑i=0n(−1)n−i(ni)f(x+i)\Delta^nf(x)=\sum_{i=0}^{n}(-1)^{n-i}{n\choose i}f(x+i)Δnf(x)=i=0∑n(−1)n−i(in)f(x+i)证明:首先当n=1n=1n=1时成立当i≤n−1i\le n-1i≤n−1时Δif(x)\Delta^if(x)Δif(x)都成立,则Δnf(x)=Δ(Δn−1f(x))=Δn−1f(x+1)−Δn−1f(x)=∑i=0n−1(−1)n−1−i(n−1i)原创 2020-10-19 20:39:51 · 1700 阅读 · 0 评论 -
迪利克雷卷积,莫比乌斯反演,杜教筛
常见积性函数μ(n)={1,i=10,n无2次方以上的素因数(−1)k,k为不同素因数的种类\mu(n)=\begin{cases}1,&i=1\\0,&n无2次方以上的素因数\\(-1)^k,&k为不同素因数的种类\end{cases}μ(n)=⎩⎪⎨⎪⎧1,0,(−1)k,i=1n无2次方以上的素因数k为不同素因数的种类φ(n)=∑i=1n[(n,i)=1]\varphi(n)=\sum_{i=1}^{n}[(n,i)=1]φ(n)=∑i=1n[(n,i)=原创 2020-10-15 23:17:54 · 151 阅读 · 0 评论 -
多项式取对数
#include<bits/stdc++.h>#define ll long longusing namespace std;const double Pi=acos(-1.0);const int N=2100009;const ll mod=998244353,G=3;//G是mod的原根ll A[N],B[N],C[N],D[N],E[N];//多次使用记得清空ll p[N],p1[N],Gi,_inv;//Gi是原根的逆元,_inv是lim的逆元int n,m;int原创 2020-09-26 19:11:21 · 927 阅读 · 0 评论 -
多项式求逆
泰勒公式f(x)=∑i=0∞f(i)(x0)i!(x−x0)i\begin{aligned}f\left( x\right) =\sum ^{\infty }_{i=0}\dfrac {f^{(i)}\left( x_{0}\right) }{i!}\left( x-x_{0}\right) ^{i}\end{aligned}f(x)=i=0∑∞i!f(i)(x0)(x−x0)i原创 2020-09-25 14:14:35 · 149 阅读 · 0 评论 -
快速傅里叶变换FFT
n原创 2020-09-24 23:16:28 · 72 阅读 · 0 评论 -
快速数论变换NTT
#include<bits/stdc++.h>#define ll long longusing namespace std;const double Pi=acos(-1.0);const int N=2100009;const ll mod=998244353,G=3;//G是mod的原根ll a[N],b[N],c[N],p[N],p1[N],Gi,inv;int n,m,bit=0,lim=1,r[N];ll qpow(ll a,ll b){ll res=1;a%=mod原创 2020-09-24 23:15:57 · 157 阅读 · 0 评论 -
拉格朗日插值
基本公式给定n+1n+1n+1个横坐标不相同的点,可以唯一确定一个nnn次的多项式f(x)f(x)f(x)。(x1,y1)(x2,y2)...(xn+1,yn+1)(x_1,y_1)\quad(x_2,y_2)...\quad(x_{n+1},y_{n+1})\quad(x1,y1)(x2,y2)...(xn+1,yn+1)可以通过构造得到多项式f(x)=∑i=1n+1yi∏j≠ix−xjxi−xjf(x)=\sum_{i=1}^{n+1}y_i\prod_{j\neq i}\fr原创 2020-09-24 19:09:50 · 203 阅读 · 0 评论 -
Legendre公式和Kummer定理
Legendre公式对于质数ppp,函数vp(n)vp(n)vp(n)为nnn标准分解后ppp的次数显然有vp(n!)=∑i=1∞⌊npi⌋v_p(n!) = \sum\limits_{i = 1}^{\infty} \lfloor \frac{n}{p^i} \rfloorvp(n!)=i=1∑∞⌊pin⌋令函数sp(n)sp(n)sp(n)为nnn在ppp进制下的数位和有:vp(n!)=n−sp(n)p−1v_p(n!) = \frac{n - s_p(n)}{p - 1}vp原创 2020-09-16 23:09:26 · 1084 阅读 · 0 评论