![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
须长记忆
JRicardo
这个作者很懒,什么都没留下…
展开
-
矩阵树定理(Matrix -Tree定理)
矩阵树定理在OI竞赛中的主要作用就是用于生成树的计数问题两个需明确的概念: ①:G的度数矩阵D[G]是一个N*N的矩阵,并且满足i != j 时,D[i][j] = 0;i = j时,D[i][j] = v[i]的度数。 ②:G的邻接矩阵A[G]也是一个N*N的矩阵,并且满足如果v[i]、v[j]之间有边直接相连,则A[i][j] = 1,否则为0。则定义G的Kirchhoff矩阵(拉普拉斯算子原创 2017-07-30 17:03:52 · 824 阅读 · 0 评论 -
欧拉回路
欧拉回路与欧拉道路图G的一个回路,若它恰通过G中每条边一次,则称该回路为欧拉(Euler)回路。 如果一个图只是形成一个连通所有节点的链,且每一点只走一次,则成为欧拉道路。 具有欧拉回路或欧拉道路的图称为欧拉图(简称E图)。 有向图的欧拉回路 一个有向图存在欧拉回路的前提条件是这个图是个连通图,其次要求其每个点的入度等于出度,或者其中有一个点的出度比入度大1,另一个点的入度比出度大一这样就存转载 2017-08-07 09:52:42 · 644 阅读 · 0 评论 -
最近公共祖先 LCA 倍增+Tarjan实现
最近公共祖先 : 对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。通常在OI中最近公共祖先的解决办法分为在线做法和离线做法,离线做法也就是Tarjan算法,而在线做法则是倍增做法。========================================= Tarjan做法:利用并查集优越的时空复杂度,我们可以实现LCA原创 2017-08-07 09:46:52 · 504 阅读 · 0 评论 -
最短路SPFA算法 (通过邻接表来实现)
适用范围:给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便派上用场了。 我们约定有向加权图G不存在负权回路,即最短路径一定存在。当然,我们可以在执行该算法前做一次拓扑排序,以判断是否存在负权回路,但这不是我们讨论的重点。主要思路:现将图用邻接表edges[mxan]来存储,(当然邻接矩阵也可以),然后进行SPFA操作,用原创 2017-07-29 10:48:35 · 1120 阅读 · 0 评论 -
编程中位运算用法总结
本博客转自http://blog.csdn.net/y990041769/article/details/12977271位运算应用口诀清零取反要用与,某位置一可用或若要取反和交换,轻轻松松用异或移位运算要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。 2 "转载 2017-08-19 17:24:26 · 317 阅读 · 0 评论 -
区间DP的主要思想
区间动态规划问题一般都是考虑,对于每段区间,他们的最优值都是由几段更小区间的最优值得到,是分治思想的一种应用,将一个区间问题不断划分为更小的区间直至一个元素组成的区间,枚举他们的组合 ,求合并后的最优值。 设F[i,j](1<=i<=j<=n)表示区间[i,j]内的数字相加的最小代价 最小区间F[i,i]=0(一个数字无法合并,∴代价为0)每次用变量k(i<=k<=j-1)将区间分为[i,k]和转载 2017-08-12 16:51:28 · 450 阅读 · 0 评论 -
最小生成树(MST)的Kruskal实现
首先,要明确最小生成树(MST)的定义最小生成树:一个有 N个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 N 个结点,并且有保持图连通的最少的边。求一个图的最小生成树一般会有两种方法 :①Kruskal ②Prim 但是,在NOIP当中,大多数选手都会选择原创 2017-08-03 20:52:58 · 400 阅读 · 0 评论 -
常用数据类型的范围
常用数据类型的范围:unsigned int 0~4294967295 int -2147483648~2147483647 unsigned long 0~4294967295 long原创 2017-07-25 19:49:27 · 309 阅读 · 0 评论 -
强连通分量 Tarjan算法
什么是Tarjan算法!!!! Tarjan算法:一种由Robert Tarjan提出的求解有向图强连通分量的线性时间的算法。这时候你可能会问什么是强连通,什么是强连通分量?根据百度百科可知: 如果两个顶点可以相互通达,则称两个顶点强连通(Strongly Connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强连通子图,称为强连通分量(Strongly Con原创 2017-08-04 09:43:38 · 511 阅读 · 0 评论 -
KMP 算法
详见大神博客 http://www.cnblogs.com/c-cloud/p/3224788.html转载 2017-08-16 19:24:23 · 231 阅读 · 0 评论 -
二分图的相关算法
转自Memento一、**二分图最大匹配** 定义:匹配是图中一些边的集合,且集合中任意两条边都没有公共点,所有的匹配中,边数最多的就是最大匹配。 算法:用匈牙利算法可以在O(V*E)的复杂度内求出二分图的最大匹配,具体可以看byvoid神犇的blog,讲的很详细,不过想真正完全证明这个算法,得去看组合数学。 二、**二分图最小点覆盖** 定义:点覆盖是图中一些转载 2017-08-26 08:31:32 · 311 阅读 · 0 评论