
ACM ---- 图论
米诺minoz
这个作者很懒,什么都没留下…
展开
-
最小树形图
转载大佬博客一、相关定义定义:设G = (V,E)是一个有向图,它具有下述性质:G中不包含有向环; 存在一个顶点vi,它不是任何弧的终点,而V中的其它顶点都恰好是唯一的一条弧的终点,则称 G是以vi为根的树形图。最小树形图就是有向图G = (V, E)中以vi为根的树形图中权值和最小的那一个。另一种说法:最小树形图,就是给有向带权图一个特殊的点root,求一棵以root为根节...转载 2018-08-09 21:23:08 · 447 阅读 · 0 评论 -
并查集——带权路径
一、概念引入普通的并查集仅仅记录的是集合的关系,这个关系无非是同属一个集合或者是不在一个集合。而带权并查集,不仅记录集合的关系,还记录着集合内元素的关系或者说是元素连接线的权值。二、实现1、求 v 数组带权并查集有一个新的数组叫做意义是:从当前节点到根节点的有向距离(这里定义A到B的有向距离为dis时,B到A的有向距离为-dis)而对于两个点对的距离,如果他们不...原创 2019-04-11 16:23:13 · 1317 阅读 · 1 评论 -
最短路例题
最短路请戳ONE:题目来源 最短路 Problem Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗? Input 输入包括多组数据。每组数据第一行是...原创 2019-03-07 20:50:18 · 487 阅读 · 0 评论 -
最小生成树详解
一、概念1、最小生成树是一副连通加权无向图中一棵权值最小的生成树如下图黑线表示的是一个最小生成树2、一个连通图可能有多个生成树。当图中的边具有权值时,总会有一个生成树的边的权值之和小于或者等于其它生成树的边的权值之和。广义上而言,对于非连通无向图来说,它的每一连通分量同样有最小生成树,它们的并被称为最小生成森林。二、相关性质1、个数多个最小生成树在一些情况...原创 2019-03-07 16:15:19 · 5651 阅读 · 0 评论 -
最小生成树例题详解
ONE:题目描述题意:求n个顶点间的最小生成树,使整个拓扑路径和最小用 Prim 模板来写#include <iostream>#include <cstdio>#include <cmath>#include <cstring>#include <algorithm>#include <set>...原创 2019-03-07 16:14:43 · 1669 阅读 · 0 评论 -
二部图定义+着色法判断二部图
一、二部图定义: 1、二分图又称双分图、二部图、偶图,指顶点可以分成两个不相交的集 和 ( U、V皆为独立集,使得在同一个集内的顶点不相邻(没有共同边)的图2、二分图又称作二部图,是图论中的一种特殊模型。 设 是一个无向图,如果顶点 V 可分割为两个互不相交的子集 ,并且图中的每条边 所关联的两个顶点 和 分别属于这两个不同的顶点集 ( in , in ),则称图 ...原创 2018-11-17 11:16:34 · 13888 阅读 · 0 评论 -
有关二叉树求解模板
/*在这三个遍历中,只调用了一个Visit()函数,只输出此时的根节点即可原因是:每访问一个点,都可以是一个根节点,然后都可以有左右根结点*//*BiTree 本身已经是一个指针了,为什么要用Bitree &amp;T呢?首先明确一个问题:Bitree &amp;T 中的&amp;是引用,这个也就是取地址的意思,这个只有C++中才有,你也可以用C中的指针,用Bitree *T,但...原创 2018-05-04 21:49:20 · 215 阅读 · 0 评论 -
C - 二叉树的输入
Description用二叉树的带虚结点表示的前序遍历序可以唯一的确定一棵二叉树。Input输入包含多组数据。 每行是一棵二叉树的带虚结点(#)表示的前序遍历序串,长度不超过2000。每个结点为一个字符。Output对每行输入,输出对应二叉树的中序遍历序(不含虚结点)、后序遍历序(不含虚结点)和层次遍历序(不含虚结点)。 每棵二叉树的输出占一行,中序遍历序、后序遍历序和...原创 2018-05-05 21:17:25 · 4987 阅读 · 0 评论 -
D - 中序遍历二叉树
Description给定一颗二叉树,要求输出二叉树的深度以及中序遍历二叉树得到的序列。本题假设二叉树的结点数不超过1000。 Input输入数据分为多组,第一行是测试数据的组数n,下面的n行分别代表一棵二叉树。每棵二叉树的结点均为正整数,数据为0代表当前结点为空,数据为-1代表二叉树数据输入结束,-1不作处理。二叉树的构造按照层次顺序(即第1层1个整数,第2层2个,第3层4个,第4层...原创 2018-05-06 16:14:31 · 389 阅读 · 0 评论 -
B - 树与二叉树
Description遍历一棵二叉树就是按某种次序系统地“访问”二叉树上的所有结点,并使每一个结点恰好被访问一次。所谓“访问”一个结点,是指对该结点的数据域进行某种处理,处理的内容依具体问题而定,通常比较简单。我们知道,遍历一个线性结构很容易,只须从开始结点出发顺序扫描每个结点即可。但是二叉树是一个非线性结构,每个结点可以有两个后继结点,因此需要寻找一种规律来系统地访问树中各结点。遍历运算的关...原创 2018-05-06 16:49:23 · 1119 阅读 · 1 评论 -
最小生成树—畅通工程
Description 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。 Input 测试输入包含若干测试用例。每个测试用例的第1行给出评估的道路条数 N、村庄数目M ( &amp;lt; 100 );随后的 N...原创 2018-07-15 17:21:36 · 201 阅读 · 0 评论 -
最短路问题
博客来源: 转自 大佬博客 迪杰斯特拉算法 最短路径问题介绍问题解释: 从图中的某个顶点出发到达另外一个顶点的所经过的边的权重和最小的一条路径,称为最短路径解决问题的算法:1、迪杰斯特拉算法(Dijkstra算法)2、弗洛伊德算法(Floyd算法)3、SPFA算法2、Dijkstra算法介绍算法特点:/*迪杰斯特卡算法按路径长度递增次序产...原创 2018-07-16 14:59:24 · 2906 阅读 · 0 评论 -
D - FatMouse's Speed(最小生成序列+输出)
FatMouse believes that the fatter a mouse is, the faster it runs. To disprove this, you want to take the data on a collection of mice and put as large a subset of this data as possible into a sequence...原创 2018-07-26 17:12:07 · 622 阅读 · 2 评论 -
F - 最少拦截系统 (包含 LIS,和非最长上升子序列)
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹. 怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求救了,请帮助计算一下最少需要多少套拦截系统...原创 2018-07-27 10:13:40 · 317 阅读 · 0 评论 -
最长上升子序列(LIS) 、最长公共子序列(LCS)
一、最长上升子序列 (LIS)(一般好像没有遇到过输出最长上升子序列元素的情况,所以就没整理)为DP问题,所以我们可以用DP来解决。它有两种算法:1、 时间复杂度为O(n^2)——dp 解决递推关系:dp[i]={1,d[j]+1|j<i且aj<ai} dp[]:代表 以 ai 为末尾的最长上升子序列的长度 而以ai结尾的上升子序列又包含两种情况: (1)...原创 2018-07-27 11:05:40 · 647 阅读 · 1 评论 -
前向星+链式前向星 ——图的存储
转载链接Malash's Blog一、前向星1、我们首先来看一下什么是前向星. 前向星是一种特殊的 边集 数组 ,我们把边集数组中的每一条边按照起点从小到大排序, 如果起点相同就按照终点从小到大排序,并记录下以某个点为起点的所有边在数组中的起始位置和存储长度,那么前向星就构造好了. 用 len[i] 来记录所有以i为起点的边的个数用 head[i]...转载 2018-08-03 15:25:13 · 467 阅读 · 0 评论 -
LCA——最近公共祖先(Tarjan算法)
转载一、入门介绍首先是最近公共祖先的概念(什么是最近公共祖先?):在一棵没有环的树上,每个节点肯定有其父亲节点和祖先节点,而最近公共祖先,就是两个节点在这棵树上深度最大的公共的祖先节点。 换句话说,就是两个点在这棵树上距离最近的公共祖先节点。 所以LCA主要是用来处理 当两个点仅有唯一一条确定的最短路径时的路径。 有人可能会问:那他本身或者其父亲...转载 2018-08-03 16:05:29 · 1154 阅读 · 2 评论 -
并查集知识点
以为自己已经会用并查集了呢,碰到了一个带全路径并查集的问题,发现自己居然都没太理解具体思想是什么啊渣渣一、举个例子在讲并查集之前我们先举一个例子。(这个例子是出自别人之手,大都知道的例子)话说江湖上散落着各式各样的大侠,有上千个之多。他们没有什么正当职业,整天背着剑在外面走来走去,碰到和自己不是一路人的,就免不了要打一架。但大侠们有一个优点就是讲义气,绝对不打自己的朋友。而且他们信奉...原创 2019-04-09 14:02:52 · 236 阅读 · 0 评论