
倍增
文章平均质量分 79
stargazer.
夜を穿つの
展开
-
【洛谷 P5282】【模板】快速阶乘算法(倍增 / MTT / 拉格朗日插值)
传送门 考虑分成B=nB=\sqrt nB=n块分别求 即设f(d,x)=∏i=1d(x+i)f(d,x)=\prod_{i=1}^d(x+i)f(d,x)=∏i=1d(x+i) 则考虑求出 f(B,0),f(B,2B)....f(B,B∗B)f(B,0),f(B,2B)....f(B,B*B)f(B,0),f(B,2B)....f(B,B∗B) 剩下的一点直接乘即可 对于这个考虑倍增 即考虑...原创 2020-03-28 18:13:58 · 526 阅读 · 0 评论 -
【51nod 1628】 非波那契树(二次剩余 / 倍增)
传送门 显然利用斐波那契通项公式来做 对于f(n)=((1+5)2)n,((1−5)2)nf(n)=(\frac{(1+\sqrt 5)}{2})^n,(\frac{(1-\sqrt 5)}{2})^nf(n)=(2(1+5))n,(2(1−5))n分别计算 那么这时候就有f(a+b)=f(a)f(b)f(a+b)=f(a)f(b)f(a+b)=f(a)f(b) 考虑倍增,维护(u,v,s...原创 2020-02-25 20:13:57 · 258 阅读 · 0 评论 -
【BZOJ4444】【SCOI2015】—国旗计划(倍增+贪心)
传送门 有点有趣的一道题 先拆环为链并倍长 发现由于路径之前没有覆盖关系 所以对于一条路径,接下来走的下一条是一定的,贪心选最远的那一条 那对于每一条路径的下一条可以在O(n)O(n)O(n)求出来的 考虑倍增f[i][j]f[i][j]f[i][j]表示从iii开始走2j2^j2j条路径会走到哪里 然后对于每个人暴力跳一下看多久跳到mmm就可以了 复杂度O(nlogn)O(nlogn)O(nlo...原创 2019-03-26 19:06:29 · 122 阅读 · 0 评论 -
【洛谷 P5408】【模板】—第一类斯特林数·行(倍增+NTT)
传送门 斯特林数学习笔记 考虑构造生成函数Fn=∑i=0∞s(n,i)xiF_n=\sum_{i=0}^{\infty}s(n,i)x^iFn=∑i=0∞s(n,i)xi 由第一类斯特林数的递推式可得 Fn=xFn−1+(n−1)F(n−1)=(x+n−1)F(n−1)=xn‾F_n=xF_{n-1}+(n-1)F(n-1)=(x+n-1)F(n-1)=x^{\overline n}Fn=...原创 2019-08-15 21:57:58 · 259 阅读 · 0 评论 -
【洛谷 P5396】【模板】—第二类斯特林数·列(生成函数+倍增+NTT)
传送门 斯特林数学习笔记 考虑构建列的生成函数 Fn=∑i=0∞S(i,n)xiF_n=\sum_{i=0}^{\infty}S(i,n)x^iFn=∑i=0∞S(i,n)xi 由第二类斯特林数递推式 S(i,j)=S(i−1,j−1)+j∗S(i−1,j)S(i,j)=S(i-1,j-1)+j*S(i-1,j)S(i,j)=S(i−1,j−1)+j∗S(i−1,j) 有Fn=xFn−1+x...原创 2019-08-16 10:17:20 · 494 阅读 · 0 评论