摘要: 树的深搜: 树的重心 思路:我们可以遍历每一个节点,获取当前节点除外以后的每一个连通块中的点的数量,用一个res变量存储,每次到最后的时候用一个ans存储res中的最小值。 1 #include <iostream> 2 #include <algorithm> 3 #include <cstrin 阅读全文
posted @ 2020-01-22 18:45 dzcixy 阅读(415) 评论(0) 推荐(1)
摘要: 指数形枚举:即集合中的元素,选或者不选两种状态,$0$和$1$, 即集合的所有子集。例如$\left \{ 1,2 \right \}$集合中的子集有$\left \{ \right \},\left \{ 1 \right \},\left \{ 2 \right \},\left \{ 1,2 阅读全文
posted @ 2020-01-21 16:38 dzcixy 阅读(415) 评论(1) 推荐(1)
该文被密码保护。 阅读全文
posted @ 2019-12-13 19:02 dzcixy 阅读(6) 评论(0) 推荐(1)
摘要: 二分图又称作二部图,是图论中的一种特殊模型。 设$G=(V,E)$是一个无向图,如果顶点$V$可分割为两个互不相交的子集$(A,B)$,并且图中的每条边$(i,j)$所关联的两个顶点$i$和$j$分别属于这两个不同的顶点集$(i \ in \ A,j \ in \ B)$,则称图$G$为一个二分图。 阅读全文
posted @ 2019-12-05 21:29 dzcixy 阅读(146) 评论(0) 推荐(0)
摘要: 差分约束通常用来求不等式组的可行解。 差分约束的步骤: 1.先将每个不等式$x_i\leq x_j + w$,转化成一条从$x_j$走到$x_i$的长度为$w$的一条边。 2.找一个超级源点,使得从该源点开始可以遍历所有边。 3.从源点开始求一遍单源最短路,如果存在负环,则原不等式无解,如果没有负环 阅读全文
posted @ 2019-12-02 22:04 dzcixy 阅读(170) 评论(0) 推荐(1)
摘要: 有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强连通子图,称为强连通分量(stron 阅读全文
posted @ 2019-12-02 19:26 dzcixy 阅读(235) 评论(0) 推荐(1)
摘要: 裸的求公共祖先的题目。 思路:用被增法求最近公共祖先,用fa[i][j]表示从i开始,向上走2j 步能走到的所有节点,其中1 <= j <= logn(下取整) 例如上图,f[6][0] = 4, f[6][1] = 2, f[6][2] = -1表示不存在。 做法:1.首先我们需要预处理一个fa数 阅读全文
posted @ 2019-11-29 20:34 dzcixy 阅读(183) 评论(0) 推荐(1)
摘要: 一:八数码输出最短路径长度: 第一次做用的暴力做法,用一个变量保存状态,用$bfs$去扩展。但是这样会超时,暴力的话没有优化过不去。最后将$map$改成$unordered\_map$过了。ps:用逆序对判错能快一倍。代码: 1 #include <iostream> 2 #include <str 阅读全文
posted @ 2019-11-28 21:26 dzcixy 阅读(411) 评论(0) 推荐(1)
摘要: 一:判定质数 要判断一个数是不是质数,只需遍历小于等于它的所有数,如果它能被除了1和本身之外的数整除,那么它就不是质数。 很简单,暴力枚举,代码如下: 1 bool is_prime(int x) 2 { 3 if (x < 2) return false; 4 for (int i = 2; i 阅读全文
posted @ 2019-11-28 11:36 dzcixy 阅读(300) 评论(0) 推荐(1)
摘要: Trie树是一种前缀树,一种高效存储和查询字符串的数据结构,用来处理字符串前缀的出现问题,或者异或对等问题。 例如我们有字符串:abc,ac,ad,ac,ba,bd,bad,cad,cb,da,dab。要在这些字符串中找出ac这个字符串的个数。第一个想法就是暴力搜索,用目标串去和每一个字符串比较,用 阅读全文
posted @ 2019-11-27 23:00 dzcixy 阅读(227) 评论(0) 推荐(1)