题意:现在有m个池塘(从1到m开始编号,1为源点,m为汇点),及n条有向水渠,给出这n条水渠所连接的点和所能流过的最大流量,求从源点到汇点能流过的最大流量 Dinic 建图的另一种方法,上面有两种邻接表的方法,一种是单纯用数组模拟,可以运用异或操作反向边;另一个是vector模拟,反向边做特别记录 ...
分类:
其他好文 时间:
2018-06-24 10:30:49
阅读次数:
170
题目链接:https://www.luogu.org/problemnew/show/P1186 邻接表开大开小真的奇妙,毒瘤玩意,再您妈的见。 include include include include include using namespace std; const int maxn = ...
分类:
其他好文 时间:
2018-06-22 13:22:44
阅读次数:
142
1.1图的思维导图 1.2 图结构学习体会: 深度遍历算法和广度遍历算法:理解起来相对容易,尤其是在邻接矩阵中,找起来很方便,重要的要做到不重不漏.两种算法都是以邻接表或邻接矩阵为模板的算法,两种算法能解决不同的问题。 Prim和Kruscal算法:都是从连通图中找出最小生成树的算法。Prim算法直 ...
分类:
其他好文 时间:
2018-06-18 14:29:41
阅读次数:
318
1.学习总结 (1)掌握图的相关概念,包括图、有向图、无向图、完全图、子图、连通图、度、入度、出度、简单回路和环等定义。 (2)重点掌握图的各种存储结构,包括邻接矩阵和邻接表等。 (3)重点掌握图的基本运算,包括创建图、输出图、深度优先遍历、广度优先遍历等。 (4)掌握图的其他运算,包括最小生成树、 ...
分类:
其他好文 时间:
2018-06-18 11:51:56
阅读次数:
267
POJ1679 首先求出最小生成树,记录权值之和为MinST。然后枚举添加边(u,v),加上后必形成一个环,找到环上非(u,v)边的权值最大的边,把它删除,计算当前生成树的权值之和,取所有枚举加边后生成树权值之和的最小值 思路: 最小生成树唯一性判断,求次小生成树的val再与最小生成树比较。1.先用 ...
分类:
其他好文 时间:
2018-06-15 21:40:00
阅读次数:
164
欸我一直以为双向bfs是搜完一半再搜另一半呢,妹想到是两个一起搜 然后队列里放的结构体里不能直接存答案,所以做一个邻接表一样的东西,直接指向需要的字符即可 记录状态用康托展开来hash 以及居然是多组数据啊?! cpp include include include include using na ...
分类:
其他好文 时间:
2018-06-06 21:58:05
阅读次数:
130
传送门 题意:给定一个无向图G,输出一条路径,从1出发最后回到1,并使每条边都恰好从正反各经过一次。若有多解,输出一解即可。 思路:欧拉回路板子。此处采用邻接表做法,若当前遍历到点u的边i,则边i之前的边都已经被遍历过了,为了防止重复遍历造成的时间浪费,每次遍历后将head[u]更新为next[i] ...
分类:
其他好文 时间:
2018-06-02 11:26:08
阅读次数:
144
概念 树的dfs遍历就是对于一个树上每个点root,它向下的多个分支,选择一个分支一直走下去,直至走完并 回溯 到root再走其他分支形成的遍历。 Code 求树的深度 每个节点x的深度用deep[x]表示。 代码只要在dfs向下搜索前deep[e[i].y]=deep[x]+1; 求子树大小 以x ...
分类:
其他好文 时间:
2018-05-30 21:27:40
阅读次数:
148
思路: 这题完全按照挑战上面的方法来做,开始我不是很能理解这种方法的含义。请自行阅读挑战。 一开始我超时了,不知道是什么原因,我写了一个队列优化的bellman ford ,还用了vector的邻接表,不知道为什么会超时。。。其实回头看一下,bellman ford根本就不需要邻接表。。。。 回头再 ...
分类:
其他好文 时间:
2018-05-26 16:41:30
阅读次数:
162
一,什么是图 表示多对多的关系 图包含一组顶点和一组边(不考虑重边和自回路) 二,图的表示 邻接矩阵表示图:有边的表示1,无边的表示0 邻接矩阵优点: 邻接矩阵缺点: 邻接表:只存非零元素,不唯一,稀疏图 三,图的遍历 DFS(深度优先搜索,Depth First Search): 原路返回=>树的 ...
分类:
其他好文 时间:
2018-05-22 14:46:23
阅读次数:
187