为了写一写LCA,我就按照标签找……结果这道题我写完竟然没用LCA……真是神奇。。。 很多人(包括我),首先就想到了要枚举每一个点,再枚举任意这个点的两个儿子,可是显然O(n2)会T…… 其实我们只要线性扫一遍就可以了,利用小学学到的乘法分配率,边走边加val,这样下一个点和val的乘积就是它和这之 ...
分类:
其他好文 时间:
2019-01-22 00:34:29
阅读次数:
228
Tarjan求强连通分量 Tarjan求边双连通分量 Tarjan求桥 Tarjan求点双连通分量 Tarjan求割点 Tarjan缩点/染色 Tarjan求LCA ...
分类:
编程语言 时间:
2019-01-22 00:34:03
阅读次数:
277
1. 对于字符串大小写的统一 mysql和sqlserver中都有同名函数lower()和upper(),但是mysql中还有另外一对函数,达到同样的目的,lcase()和ucase(),也就是英文中lowercase和uppercase的缩写,然后sqlserver中没有重复定义 2. 入参/字符 ...
分类:
数据库 时间:
2019-01-21 13:58:20
阅读次数:
188
Luogu2664 树上游戏 题目描述 [传送门][1] 题目分析 考虑到没有修改,只有一次询问,判断应该点分治没跑了。 可以发现有这样一个性质: 如果有一个点$i$的颜色是其根到这个点的链上第一次出现的,则与这个点的$lca$为根的点的$sum$都会增加$size[i]$。 (我们此时不考虑其他点 ...
分类:
其他好文 时间:
2019-01-19 20:00:44
阅读次数:
153
2018 German Collegiate Programming Contest (GCPC 18) Attack on Alpha-Zet 建树,求lca 代码: #include <algorithm> #include <iterator> #include <iostream> #inc ...
分类:
其他好文 时间:
2019-01-19 11:14:44
阅读次数:
215
"传送门" 仙人掌最短路,显然是圆方树的吧! 先dfs找环,顺带求出环的长度len,记录每个点到环内深度最小的点的最短路径有没有经过返祖边 对于每个环建一个方点,都是圆方树的基本操作啦! 求答案时对于$dist(x,y)$,先求出$z=lca(x,y)$,然后判断$z$是否是方点 1、z是方点,那么 ...
分类:
其他好文 时间:
2019-01-17 19:58:54
阅读次数:
125
const int POW = 18; void dfs(int u,int fa){ d[u]=d[fa]+1; p[u][0]=fa; for(int i=1;i d[b] ) a ^= b, b ^= a, a ^= b; if( d[a] = 0; i-- ) if( p[a][i] != ... ...
分类:
其他好文 时间:
2019-01-17 17:48:34
阅读次数:
167
学了一波树上莫队 想要自己YY出转移方法交代了一个晚修未遂。。 现在的做法相当于是维护两条链,lca即用即删,好妙啊。。 对于树分块,写的是[B,3B]的,看到有人写伪ETT括号序列的,不知道那个快呢。。。 ...
分类:
其他好文 时间:
2019-01-16 22:45:10
阅读次数:
216
第一部分主要讨论:栈、队列、数组矩阵相关的面试题 第一部分主要讨论:栈、队列、数组矩阵相关的面试题 题目一 题目一 用数组结构实现大小固定的队列和栈 public static class ArrayStack { private Integer[] arr; private Integer siz ...
分类:
编程语言 时间:
2019-01-16 19:16:06
阅读次数:
128
Mybatis一级缓存与二级缓存 (一)一级缓存 Mybatis在没有配置的情况下默认开启一级缓存,一级缓存指相对于同一个sqlsession而言,sqlsession使用map存储对象,map存储了sql查询的结果集,在操作数据库时需要构建sqlsession对象,在对象中有一个数据结构用于存储缓 ...
分类:
其他好文 时间:
2019-01-13 15:26:03
阅读次数:
180