摘要:
ios::sync_with_stdio(false); 解除同步之后就不要混用scanf与cin了。 cin.tie(0),cout.tie(0); 解除cin,cout的绑定。cin与cout的绑定多用在重定向中,竞赛中可直接解除。 阅读全文
摘要:
P6175 无向图的最小环问题 题目简介 给定一张无向图,求图中一个至少包含 3 个点的环,环上的节点不重复,并且环上的边的长度之和最小。该问题称为无向图的最小环问题。在本题中,你需要输出最小的环的边权和。若无解,输出 No solution.。 思路 注意题目中的环为至少包括3个点,并且点不重复。 阅读全文
摘要:
计算x的y次幂,x,y及返回的结果都为浮点数。 需要注意的是当x为负数及y为小数发生错误。 当x为0且y小于0发生错误。 阅读全文
摘要:
在图中,若不存在顶点到其自身的边,且同一条边不重复出现,则称这样的图为简单图。 第一个顶点和最后一个顶点相同的路径称为回路或环(Cycle)。 序列中顶点不重复出现的路径称为简单路径。 除了第一个顶点和最后一个顶点外,其余顶点不重复出现的回路,称为简单回路或简单环。 只有两个点一条边的无向图不能算作 阅读全文
摘要:
#定义 2-SAT(Satisfiability)问题是这样的:有n个布尔变量,另有m个需要满足的条件,每个条件的形式都是“$x_i$为真/假或者$x_j$为真/假”(每条语句只有两个变量并且用或连接)。 我们的任务是判断对于n个布尔变量是否有合适的取值(0或1)来满足所有的条件。 #解法 由于每种 阅读全文
摘要:
#点双连通分量(bcc) 在一个连通图中(无向图)任选两点,如果他们之间至少存在两条“点不重复”的路径,称这个图为点双连通。一个图中的点双连通极大子图称为“点双连通分量”(block,2-connected component,BCC)。点双连通分量是个“可靠”的图,去掉任意一个点,其他点任然是连通 阅读全文
摘要:
#定义 对于树上的每一点,计算其所有子树(包括"向上"的那棵子树)中最大的子树节点数,这个值最小的点就是这棵树的重心。 OI WiKi 我的理解就是重心是整个物体(在这里是树)的平衡点,为了保持平衡从重心出发到其他点的距离都不会太大而导致失衡。 #性质 1.一棵树最少有一个重心,最多有两个重心,若有 阅读全文
摘要:
弗洛伊德(Floyd-Warshall) 时间复杂度\(O(n^3)\) 多元最短路,核心思想是依次将所有点作为中转点并更新所有路径。 核心代码也只有5行 for(int i=1;i<=n;++i)//外层循环一定是中转点 for(int j=1;j<=n;++j) for(int k=1;k<=n 阅读全文
摘要:
#定义 在无向图中,所有能互通的点组成了一个“连通分量”。在一个连通分量中有一些关键的点,如果删除它们,会把这个连通分量分成两个或更多,这种点称为割点(Cut vertex)。 类似的有割边(Cut edge,又称为桥,bridge)问题。在一个连通分量中,如果删除一条边,把这个连通两个(注意边最多 阅读全文
摘要:
#定义 欧拉路径 图中所有的边都经过且只经过一次(一笔画)。 欧拉回路 起点与终点相同的欧拉路径。 #欧拉路径(回路)判定 有向图的欧拉路径 图中恰好存在一个点出度比入度多一(起点),一个点入度比出度多一(终点),其余节点出度=入度(可进可出)。 有向图的欧拉回路 所有点的入度=出度(任意点可作为起 阅读全文