![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
zi渊
这个作者很懒,什么都没留下…
展开
-
树的重心
树的重心树的重心也叫树的质心。对于一棵树n个节点的无根树,找到一个点,使得把树变成以该点为根的有根树时,最大子树的结点数最小。换句话说,删除这个点后最大连通块(一定是树)的结点数最小。性质(1)树中所有点到某个点的距离和中,到重心的距离和是最小的,如果有两个距离和,他们的距离和一样。(2)把两棵树通过一条边相连,新的树的重心在原来两棵树重心的连线上。(3)一棵树添加或者删除一个节点,树...原创 2018-11-01 13:34:51 · 153 阅读 · 0 评论 -
最小生成树
最小生成树最小生成树(MST)最小生成树性质最小生成树(MST)一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。在一给定的无向图G = (V, E) 中,(u, v) 代表连接顶点 u 与顶点 v 的边(即),而 w(u, v) 代表此边的权重,若存在 T 为 E 的子集(即)且为无循环图,使得w(T) 最小,则此 T 为...原创 2018-10-30 21:34:20 · 428 阅读 · 1 评论 -
图论--最短路--bellman-ford 算法
图论最短路–bellman ford 算法** 单源最短路,能判负环。**#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#define mem(a,b) memset(a,b,sizeof(a))#defi原创 2018-11-19 11:12:54 · 213 阅读 · 0 评论 -
图论-最短路-迪杰斯特拉算法
图论–最短路–Dijkstra(迪杰斯特拉)算法 及 堆优化1.数组:#include<cstdio>#include<cstring>const int maxn=100;int map[maxn][maxn];int dis[maxn];int path[maxn];bool vis[maxn];int n;void dijk(int s) ///...原创 2018-11-17 17:56:47 · 313 阅读 · 0 评论 -
串的模式匹配算法-KMP算法
最简单的算法就不说了,直接上KMP,时间复杂度是 O(n+m)。1.next数组2.kmp过程这一段和next数组的构建很相似。#include<iostream>#include<cstring>using namespace std;int next[105];void next_int原创 2018-12-11 13:32:59 · 250 阅读 · 0 评论 -
备用
备用2<<(i-1) ---- 2的i次方ceil() ----- 向下取整floor() ---- 向上取整随机数:srand(time(0));int a=rand();快读:(1)#include<cctype>inline int read(){ int X=0,w=0; char ch=0; while( ! is...原创 2019-01-21 19:54:05 · 183 阅读 · 0 评论 -
并查集
并查集分组,合并分组。将同一组的数字放在一起,选一个当做根,其余的作为子节点,则根相同的为一组。#include<iostream>using namespace std;const int maxn=1e5+7;int pre[maxn];void init(int n){ for(int i=0; i<=n; i++) pre[i]=i...原创 2019-01-27 14:49:10 · 158 阅读 · 0 评论