合集-算法学习笔记
摘要:这一部分应该算是树上问题的入门 通过dfs以及转移方程解决问题 树就相当于没有环的图 最顶端的点叫做根节点 一般树由上往下长,根节点向下分成若干个子节点。最底下的子节点称为叶子节点。树有很多非常好的性质值得学习。 在解决树的问题的时候 如果没有规定root 我们就以1为root,在存图的时候,一般存
阅读全文
摘要:施工中...... 先在这里给出我的并查集模板 以下为比较常用的 路径压缩 int f[MAXN],n,m; void clean() { for(int i=1; i<=n; i++) f[i]=i; } int find(int x) { if(x!=f[x]) f[x]=find(f[x]);
阅读全文
摘要:# dp ## 数位dp ### 模板 ```cpp //下标从1开始统计 初始化均1开始 ll dfs(int pos,int pre_num,int c,int flag) { int max_number; if(pos=0; i--) { if(a[i]>='0'&&a[i] que;//维
阅读全文
摘要:[TOC] # 树上问题 ## 树链剖分学习笔记 ### 重链剖分 对树进行重链优先搜索,暴力求一条路径的复杂度为logn #### 模板 ```cpp int siz[MAXN],f[MAXN],hson[MAXN],deep[MAXN],top[MAXN],dfn[MAXN],rdfn[MAXN
阅读全文
摘要:## 线段树补充 [TOC] **自己写的change一定要down!!! wa了好几次了 ### 线段树维护矩阵 很多线性的变换都可以用矩阵来处理,包括累加,旋转等操作,用矩阵可以维护很多次的加 矩阵之间的乘法可以有矩阵快速幂 本随笔中的矩阵乘法均为右乘,就是一个横着的需要变换的值去乘n*n的矩阵
阅读全文

浙公网安备 33010602011771号