摘要:
树的重心 定义:树的重心也叫作树的质心。对于一颗无根树,找到一个点,使得把树变成以该点为根的有根树时,最大子树的结点数最小。换句话说,删除这个点后最大连通块(一定是树)的结点数最小。 性质: 1. 树中所有点到某个点的距离和中,到重心的距离和是最小的,如果有两个距离和,他们的距离和一样。 2. 把两 阅读全文
posted @ 2020-02-02 14:54
StungYep
阅读(441)
评论(0)
推荐(0)
摘要:
树的直径 [TOC] 定义:树的直径为树中最远的两个节点的距离之和。在求树的直径时一般有两种方法:树形dp或则两个BFS(DFS也可以)。 1.树形dp求解树的直径 思路:由树的直径定义可知:其树形dp的状态转移方程为: $$ D[x]=max(D[y_i]+Edge(x_i,y_i)) $$ 其中 阅读全文
posted @ 2020-02-02 14:53
StungYep
阅读(383)
评论(0)
推荐(0)
摘要:
求解最短路的四个算法及其优化 [TOC] 1.Dijkstra算法 Dijkstra很好的运用了贪心算法,其思想是一直找离已加入顶点集合的最短边,更新邻点,下面是实现代码: 【题意】:给定一个n个点m条边的有向图,图中可能存在重边和自环,所有边权均为正值。请你求出1号点到n号点的最短距离,如果无法从 阅读全文
posted @ 2020-02-02 14:51
StungYep
阅读(378)
评论(0)
推荐(0)
摘要:
图的存储方式 在说最短路之前,先介绍一下图的几个存储方式:主要有vector、邻接表和链式前向星三种存储方式。其中会牵扯到稀疏图和稠密图的概念, 稠密图指点的个数的平方和边的个数是一个数量级的($n^2 ≈ m$) , 两者数量级类似别称为稀疏图 。 G[maxn]; for(int i=1;i f 阅读全文
posted @ 2020-02-02 14:48
StungYep
阅读(320)
评论(0)
推荐(0)
摘要:
点分治 [TOC] 点分治是一种基于树的重心,统计树上路径的优秀算法。将树上的路径分为经过树的重心和不经过树的重心两种,同时利用树的重心性质,使得递归深度不超过 $logn$次。总的时间复杂度为$nlog^2n$ 。 【题意】:poj_1741 求解一个树上所有边的和不超过k的共有多少个 c++ i 阅读全文
posted @ 2020-02-02 14:47
StungYep
阅读(137)
评论(0)
推荐(0)
摘要:
Tarjan算法与无向图的连通性 [TOC] 1:基础概念 在说Tarjan算法求解无向图的连通性之前,先来说几个概念: ①:是$subtree(x)$的结点; ②:通过一条不在搜索树上的边,能够到达$subtree(x)$的结点 在了解概念之后,我们可以根据定义来计算$low[x]$: 令$low 阅读全文
posted @ 2020-02-02 14:28
StungYep
阅读(189)
评论(0)
推荐(0)
摘要:
字符串匹配算法(暴力匹配与kmp算法) [TOC] 1.暴力匹配算法 顾名思义,暴力匹配算法就是用for循环暴力匹配,将两个字符串逐一匹配,一直匹配到两个字符串相等或者直至字符串匹配结束,其时间复杂度为O(mn),其基本模板为: c++ void GetNext(string s1,int next 阅读全文
posted @ 2020-02-02 14:26
StungYep
阅读(230)
评论(0)
推荐(0)
摘要:
字符串的最小表示法 定义:如果一个字符串可以循环:如 →`1001 1100 0110`具有这种性质的字符串,那么它一定有一种或者多种最小表示法使得该字符串的字典序最小。 解法: 设三个指针i,j,k;初始化 ,`j=1 k=0`;先找到 i+k 和 j+k 的第一个不同的位置下标,那么不同位置之前 阅读全文
posted @ 2020-02-02 13:47
StungYep
阅读(177)
评论(0)
推荐(0)
摘要:
字典树 [TOC] 字典树又称 Trie 树,是一种树形结构。其典型应用是用于统计和排序大量的字符串(但又不仅限与字符串),也可以快速查找前缀。 字典树有三个基本性质: 1.根节点不包含字符,除根节点外的每一个结点都只包含一个字符。 2.从根节点到某一节点,路径上经过的字符连接起来,为该结点对应的字 阅读全文
posted @ 2020-02-02 13:38
StungYep
阅读(154)
评论(0)
推荐(0)
摘要:
哈希表 哈希表又称散列表,其主要思想是将字符串映射成一个 int 或是其他数据类型的数据,从而在比较的时候可以实现 O(1) 的复杂度。 通常我们采用的是多项式Hash的方法,其具体实现公式一般为: $$ f(s) = \sum s[i] b^i (mod\ M) $$ 由上式可知,哈希其实是有非常 阅读全文
posted @ 2020-02-02 13:31
StungYep
阅读(151)
评论(0)
推荐(0)

浙公网安备 33010602011771号