__图论
BigZong
这个作者很懒,什么都没留下…
展开
-
三角形问题
原创 2019-01-25 10:16:26 · 269 阅读 · 0 评论 -
拓扑排序
拓扑排序定义 对一个有向无环图(Directed Acyclic Graph简称DAG) G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之...转载 2019-04-29 21:27:14 · 132 阅读 · 0 评论 -
邻接表存图-啊哈算法
转载自:http://wiki.jikexueyuan.com/project/easy-learn-algorithm/clever-adjacency-list.html之前我们介绍过图的邻接矩阵存储法,它的空间和时间复杂度都是 N2,现在我来介绍另外一种存储图的方法:邻接表,这样空间和时间复杂度就都是 M。对于稀疏图来说,M 要远远小于 N2。先上数据,如下。 4 5 1...转载 2019-04-29 19:24:49 · 2544 阅读 · 2 评论 -
树状数组模板+前缀和+线段树
树状数组的数据结构,它能在O(logn)内对数组的值进行修改和查询某一段数值的和。区间更新,单点求和的做题心路:首先是HDU 1556算是做树状数组的第一个模板例题,然后看着板子,竟然写错了,还是没有理解板子的意思HDU - 1556这里我写成这样的了,可是这样的话,时间复杂度比直接for循环还要大,看了别人的代码后发现,我理解错了,输入y以后,直接就对前面出现的数据进行更...原创 2019-05-11 15:33:47 · 271 阅读 · 0 评论 -
离散化的学习心得
离散化里面涉及到了unique函数:现在讲数组lish里面的lish[5]改为5,那么也就是说:unique():返回参数数组中所有不同的值,并按照从小到大排序并且输出这个数组里面的元素后发现,使用了这个函数,直接去重了(去掉了相同的元素)!不过,数组的大小并没有发生改变,因为它把重复的元素添加到容器末尾(所以数组大小并没有改变)下面说一下C++里...原创 2019-04-09 15:55:41 · 446 阅读 · 0 评论 -
ZOJ - 2316 超详细的题解
Let us consider undirected graph G =which has N vertices and M edges. Incidence matrix of this graph is N * M matrix A = {aij}, such that aijis 1 if i-th vertex is one of the ends of j-th edge and...原创 2019-04-08 17:51:11 · 949 阅读 · 0 评论 -
POJ 1860 Currency Exchange
Several currency exchange points are working in our city. Let us suppose that each point specializes in two particular currencies and performs exchange operations only with these currencies. There can...原创 2019-04-05 21:04:34 · 86 阅读 · 0 评论 -
Bellman-Ford算法详解
Bellman-Ford算法详解 Dijkstra算法是处理单源最短路径的有效算法,但它局...转载 2019-04-05 17:22:07 · 254 阅读 · 0 评论 -
FZU - 1921 栀子花开(线段树)
题目链接:FZU - 1921题意:开始给出n个数据,代表的是n个学生的初始能力,现在输入一些数据,每一组数据包括两个数字,如果第一个数字是0的话,就代表老师给当前能力最低的学生辅导,如果说第一个数字不是0的话,就代表老师给下标为这个数字的学生辅导题解:这道题采用的方法是线段树算法。刚开始接触线段树算法的时候我想到的是杨辉三角形,这些数据通过二分的方法被一块块分解了,那么操...原创 2019-04-04 08:09:12 · 248 阅读 · 0 评论 -
最小生成树-Kruskal算法
这个算法结合并查集,相较于另一个算法而言,这个相对于我来说理解起来更加容易。就上面的图来说,假如说1/2/3/4/5/6分别代表不同的商店,这些商店我都要过去,而我去这些商店的时候,又需要不同的车费,让求怎么走才能使得车费少。这个就是最小生成树所要解决的问题,选择最少的车费。1、将车费从小到大排序,然后我们的选择顺序就是这个顺序2、运用并查集的思想(先判断两点是否能够构成环或者...原创 2019-02-27 08:09:17 · 112 阅读 · 0 评论 -
线段树区间更新
目录一、概述二、从一个例子理解线段树 创建线段树 线段树区间查询 单节点更新 区间更新三、线段树实战--------------------------一 概述线段树,类似区间树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问题,由于二叉结构的特性,它基本能保持每个操作的复杂度为O(logn)。线段树的每个节点表示一个区间,子节点...转载 2019-05-01 15:16:12 · 518 阅读 · 0 评论