摘要:
点分治 P3806 【模板】点分治1 直接从版题开始 题目大意是给定大小为n的树,给m个询问k,求树上是否有两点距离为k 首先点分治的本质:对于一个根节点,只有两种路径,过这个点的,和不过的 然后就先处理过这个点的,然后递归处理每个子树 这时注意,每次选树的重心,时间复杂度就可以达到稳定\(O(n\ 阅读全文
摘要:
当有形如\(f_i=min_{j=0}^{l(i)}f_j+w转移代价\) 我们就可以使用单调栈优化DP 为什么不用单调队列??? 当有形如\(f_i=min_{j=l(i)}^{i-1}f_j+w转移代价\) 我们就可以使用单调队列优化DP 至于为毛,就可以从它的工作原理上去分析 6305. 最小 阅读全文
摘要:
目录FFT推荐博客大致流程复数运算DFT单位根(n等分)性质FFTIFFT递归版迭代版(蝴蝶变化) FFT 推荐博客 快速傅里叶变换(FFT)超详解 浅谈 FFT (终于懂一点了~~) 十分简明易懂的FFT(快速傅里叶变换) 题目链接:P3803 【模板】多项式乘法(FFT) 大致流程 系数表示法< 阅读全文
摘要:
多项式全家桶 #include<bits/stdc++.h> #define Fu(i,a,b) for(register int i=a;i<=b;i++) #define Fd(i,a,b) for(int i=a;i>=b;i--) #define mod 998244353 using na 阅读全文
摘要:
莫比乌斯反演 目录莫比乌斯反演反演公式&性质例题[HAOI2011]Problem bYY的GCD于神之怒加强版Crash的数字表格/JZPTAB[SDOI2014]数表 [SDOI2015]约数个数和 反演公式&性质 \[f(n)=\sum_{d|n}g(d)\\ g(n)=\sum_{d|n}\ 阅读全文
摘要:
欧拉图(欧拉通路&欧拉回路) 定义 通过图中所有边恰好一次的通路称为欧拉通路。 通过图中所有边恰好一次的回路称为欧拉回路。 具有欧拉回路的无向图或有向图称为欧拉图。 具有欧拉通路但不具有欧拉回路的无向图或有向图称为半欧拉图。 有向图也可以有类似的定义。 非形式化地讲,欧拉图就是从任意一个点开始都可以 阅读全文
摘要:
目录图论树LCA树链剖分树上启发式合并虚树树分治点分治(淀粉质)点分树Kruskal 重构树树分块联通性强连通分量缩点双连通分量割点和桥圆方树(广义圆方树)哈密顿图欧拉图定义判定性质寻找方法竞赛图兰道定理三元环计数找三元环三元环期望 图论 树 LCA 树链剖分,倍增 tarjan,欧拉序列转化为 R 阅读全文
摘要:
圆方树(广义圆方树) 圆方树是个好东西 顾名思义,就是一颗只有圆点(原点)和方点的树 建立它的方法就是将点双中的点全部连向一个方点,然后剪完图后把原边给删掉 然后就会有一些非常奇妙的性质: 每条边连接一个圆点和方点 建出来的图是棵树 然后还有一个点双很奇gay的性质 点双上任意两点的简单路径并等于点 阅读全文
摘要:
字符串 KMP \(p_i\)表示\(s_{1...i}\)的最长真前缀,真后缀(“真”即是不包括原串)相等 处理就很简单,每个i就判断能否更新i-1的答案,如不行就i变成\(p_{i-1}\)再处理 Fu(i,2,m+n+1){ int j=p[i-1]; while(j>0&&a[i]!=a[j 阅读全文
摘要:
NTT 好吧,本质上就是FFT,把单位根换成了原根(不是很理解但是就是记住就行) 优点 能取模,FFT的复数你给我来取个模 没有精度差,FFT浮点数的精度怎么也会出一点问题 由于均为整数操作(虽然取模多),NTT常数小,通常比一大堆浮点运算的FFT要快 缺点 多项式的系数都必须是整数 模数有限制,N 阅读全文