图论
文章平均质量分 69
C20201018
这个作者很懒,什么都没留下…
展开
-
C++图论提高——The Unique MST (最小生成树 Kruskal算法)
题目描述(传送门)给定连接的无向图,告诉它的最小生成树是否唯一。定义1(生成树):考虑连通的无向图G =(V,E)。G的生成树是G的子图,比如T =(V',E'),具有以下属性:1.V'= V.2.T是连通的和非循环的。定义2(最小生成树):考虑边加权,连通,无向图G =(V,E)。G的最小生成树T =(V,E')是总成本最小的生成树。T的总成本是指E'中所有边缘的权重之和。...原创 2019-01-29 20:35:05 · 770 阅读 · 1 评论 -
C++解题报告——Ronald(理论+图搜索)
题目描述一个国家有n个城市,城市之间连接着双向航空线路。一位疯狂的航空公司总裁Ronald Krump经常改变航班时刻表。更准确地说,他每天都做以下事情:●选择其中一个城市●如果该城市和某个其他城市之间之前没有航线那么在这两个城市之间创建一条航线,如果该城市和某个其他城市之间之前已有航线那么取消这条航线例如,如果从城市5有航线通往城市1和2,但没有航线通往城市3和4,那么在Kru...原创 2019-07-18 20:52:08 · 645 阅读 · 1 评论 -
C++解题报告:病毒(virus)——拓扑排序
题目描述有一天,小y突然发现自己的计算机感染了一种病毒!还好,小y发现这种病毒很弱,只是会把文档中的所有字母替换成其它字母,但并不改变顺序,也不会增加和删除字母。现在怎么恢复原来的文档呢!小y很聪明,他在其他没有感染病毒的机器上,生成了一个由若干单词构成的字典,字典中的单词是按照字母顺序排列的,他把这个文件拷贝到自己的机器里,故意让它感染上病毒,他想利用这个字典文件原来的有序性,找到病毒替...原创 2019-07-10 11:33:43 · 2578 阅读 · 0 评论 -
浅论 欧拉路径&欧拉回路
欧拉路径废话不扯,直接先了解一下定义如果图G中的一个路径包括每个边恰好一次,则该路径称为欧拉路径(Euler path)这需要跟哈密顿路区别一下,前者是边,后者是点如果一个图中存在具有欧拉路径但不具有欧拉回路则称为半欧拉图那么该如何求图中的欧拉路径呢分类讨论一下对于无向图无向图中,一条欧拉路径上有且仅有两个度数为奇数的点(其他点度数都是偶数),这两个点就是这条欧...原创 2019-07-12 20:32:44 · 368 阅读 · 0 评论 -
C++学习笔记:图论——缩点详解
引言缩点,哲学的东西,你必须拥有。。。缩点个人认为就是把一堆强连通的点( 即强连通分量 ),认作为一个点强连通分量就是这里面的点可以相互到达(算是个环)详解一个有向图如下可以看出有强连通分量 { 1 , 2 } , { 8 , 4 , 9 } , { 7 } , { 6 } , { 3 } , { 5 }先走一波Tarjan,求出强连通分量用一个 c...原创 2019-06-26 13:50:53 · 5088 阅读 · 1 评论 -
C++解题报告:抢掠计划 [ APIO 2009 ] 解析
题目描述Siruseri 城中的道路都是单向的。不同的道路由路口连接。按照法律的规定, 在每个路口都设立了一个 Siruseri 银行的 ATM 取款机。令人奇怪的是,Siruseri 的酒吧也都设在路口,虽然并不是每个路口都设有酒吧。Banditji 计划实施 Siruseri 有史以来最惊天动地的 ATM 抢劫。他将从市中心 出发,沿着单向道路行驶,抢劫所有他途径的 ATM 机,最终...原创 2019-06-25 14:11:39 · 503 阅读 · 0 评论 -
C++学习笔记:Tarjan算法剖析——求 强连通分量,割点,割边,点双连通分量,边双连通分量 的详解
Tarjan算法详解目录1.Tarjan算法求强连通分量2. Tarjan算法求割点3. Tarjan算法求点双连通分量4. Tarjan算法求割边5.Tarjan算法求边双连通分量1.Tarjan算法求强连通分量了解一下 强连通分量对于一个有向图的DFS的搜索树(i 可以到 j,j 不一定能到 i),如下里面的强连通分量有 { 6 , 7 , 8 }...原创 2019-06-06 14:18:56 · 4416 阅读 · 3 评论 -
C++学习笔记:有向图的强连通分量
强连通图分量首先得知道这是个什么玩意儿,对于一个如下的有向图在这个有向图G中,如果有两个点可以相互到达,则两点为强连通,若图中每个点都可以相互到达,则图G为强连通图1. 一个有向图是强连通的,而且仅当G中有一条回路,它至少包含每个点一次2. 非强连通图的极大强连通子图,称为强连通分量,孤立的点也是一个强连通分量(copy课件不解释)实现方法1. Kosar...原创 2019-05-31 13:55:33 · 2596 阅读 · 1 评论 -
C++学习笔记:浅析匈牙利算法
引言匈牙利算法在手,孟非都为你亮灯。二分图&最大匹配在学习匈牙利算法之前,要先了解二分图二分图又称作二部图,是图论中的一种特殊模型。设G=(V,{R})是一个无向图。如顶点集V可分割为两个互不相交的子集,并且图中每条边依附的两个顶点都分属两个不同的子集。则称图G为二分图。感性理解:两个互不相交的子集就像男生和女生,男女有别。。。然后就是最大匹配给定一个...原创 2019-04-29 14:11:22 · 955 阅读 · 0 评论 -
C++图论——最小生成树
板题——最优布线问题题目描述学校有n台计算机,为了方便数据传输,现要将它们用数据线连接起来。两台计算机被连接是指它们中间有数据线连接。由于计算机所处的位置不同,因此不同的两台计算机的连接费用往往是不同的。 当然,如果将任意两台计算机都用数据线连接,费用将是相当庞大的。为了节省费用,我们采用数据的间接传输手段,即一台计算机可以间接的通过若干台计算机(作为中转)来实现与另一台计算机的连接...原创 2019-04-24 13:31:00 · 568 阅读 · 0 评论 -
C++学习笔记:图论——拆点详解
引言拆点,玄学的东西,你值的拥有。。。详解拆点就是将一个图里的边权全部化为 1 ,就要将每一个点拆解为几个点,每个拆解后的点的边权为 1一个图的邻接矩阵其中最大的边权为 3则每一个点拆分为 i.1 , i.2 , i.3 的分点分点先与自己相邻的分点相连,但要把 i.1 看为原来的点即 1.1 与 1.2 连1.2 与 1.3 连拆完后的图...原创 2019-04-17 13:34:32 · 3738 阅读 · 2 评论 -
C++解题报告:迷路[SCOI2009]——巧妙运用加速矩阵快速求解
引言好题一道,恶心到爆。。。迷路题目描述windy在有向图中迷路了。 该有向图有 N 个节点,windy从节点 0 出发,他必须恰好在 T 时刻到达节点 N-1。 现在给出该有向图,你能告诉windy总共有多少种不同的路径吗? 注意:windy不能在某个节点逗留,且通过某有向边的时间严格为给定的时间。输入输出格式输入格式:第一行包含两个整数,N T。 接下来有 ...原创 2019-04-16 13:52:19 · 656 阅读 · 0 评论 -
C++解题报告——Rima(字典树+树形DP)
题目描述Adrian对单词押韵很感兴趣。如果两个单词的最长公共后缀的长度与两个单词中较长那个的长度一样,或者等于较长单词的长度减一,则这两个单词押韵。换句话说,如果A,B的最长公共后缀LCS(A,B)≥max(|A|,|B|)-1,则A和B押韵。有一天,在阅读一套短篇小说时,他决定创造出能够使每两个相邻单词押韵的最长的单词序列,序列中的每个单词只能出现一次。但是Adrian已经厌倦了这个...原创 2019-07-17 12:18:17 · 329 阅读 · 1 评论