
图论
文章平均质量分 61
Cai-Crayon
https://github.com/ZhuoZhuoCrayon
展开
-
数据结构-并查集
数据结构-并查集 何为并查集 简述并查集(Union Find)是一种用于管理分组的数据结构。它具备两个操作:(1)查询元素a和元素b是否为同一组 (2) 将元素a和b合并为同一组。在一些应用问题中,我们常需把n个不同的元素划分成若干组不相交的集合,开始时各个元素自成单元素集合,然后按照一定条件将归于同一类的元素的集合合并,在此过程中需反复查询元素归属于哪个集合。并...原创 2018-08-23 20:40:56 · 574 阅读 · 0 评论 -
PAT-Advanced Level-1001-Public Bike Management
PAT-Advanced Level-1001-Public Bike Management题目链接:Public Bike Management 题目大意:情景是总部对目标站点及路径上的所有站点进行单车管理,规则是每个站点要有 Cmax/2 辆单车,求到目标站点最短路径上需要从总部携带的单车数及调整完运回的单车数及最短路径,存在多条最短路,取携带单车数少,运回单车数少(当携带单车数相...原创 2018-11-16 22:54:51 · 394 阅读 · 0 评论 -
最短路径-Floyd(弗洛伊德)算法
最短路径-Floyd(弗洛伊德)算法 简介: 相较Dijkstra,Floyd是一个完全穷举图中每个点到末尾点的最短路径 算法思想: 按惯例说两个工具Path[MAX_SIZE][MAX_SIZE]:保存所有的最短路径(指向)Short_Path[MAX_SIZE][MAX_SIZE]:保存所有的最短路径长度(数组)状态转移:Short_Path[v][w...原创 2018-09-01 22:37:36 · 397 阅读 · 0 评论 -
最短路径(Dijkstra)-HDU 2544-最短路
最短路径(Dijkstra)-HDU 2544-最短路 题目链接: 最短路 题目基础: 最短路径-Dijkstra(迪杰斯特拉)算法 思路: 题目大意:略略略~~题解:套模板,传送门有详解 代码: #include <iostream>#include<memory.h>using namespace std;...原创 2018-09-01 21:18:20 · 357 阅读 · 0 评论 -
最短路径(Dijkstra)-HDU 1874-畅通工程续
最短路径(Dijkstra)-HDU 1874-畅通工程续 题目链接: 畅通工程续 题目基础: 最短路径-Dijkstra(迪杰斯特拉)算法 思路: 题目大意:略略略题解:可能都有个习惯,一篇算法两篇水题就说下怎样判断 S-T之间有无最短路:bool Vis 是用于标记加入最短路的标记数组,如果顶点a在最短路,那么Vis[a]=true,所以,如...原创 2018-09-01 21:13:41 · 369 阅读 · 0 评论 -
最短路径-Dijkstra(迪杰斯特拉)算法
最短路径-Dijkstra(迪杰斯特拉)算法 网图的最短路: 最短路径,是指两顶点之间经过的边上权值之和最小的路径,并且我们称路径的第一个顶点是源点,最后一个顶点是终点 Dijkstra(迪杰斯特拉)算法: 概况:按路径长度递增的次序产生的最短路径算法,通过一步步计算出路径之间顶点的最短路径,在此过程中都是基于已经求出的最短路径基础上,求得更远顶点的最短路径思想:...原创 2018-09-01 20:59:33 · 1297 阅读 · 0 评论 -
并查集/DFS-CodeForces 1027D-Mouse Hunt
并查集/DFS-CodeForces 1027D-Mouse Hunt 题目链接: D. Mouse Hunt 题目基础:并查集 数据结构-并查集 思路: 题目大意:给定两个N长度序列,第一个序列表示在每个房间安装捕鼠器的成本,第二个序列是状态图,表示在第 i 个房间的老鼠,下一秒会去到房间 Next_Room[i] (可以选择停留在该房间),求出一定能捉到...原创 2018-08-29 15:26:58 · 332 阅读 · 0 评论 -
最小生成树(Prim/Kruskal)POJ 2395-Out of Hay
最小生成树(Prim/Kruskal)POJ 2395-Out of Hay 题目链接: Out of Hay 题目基础:最小生成树 最小生成树-Prim(普里姆)算法最小生成树-Kruskal(克鲁斯卡尔)算法 思路: 题目大意:一个人从自己的农场出发,要访问N个农场,一共有M条路径(两个农场之间可能存在多条不等长路径),每个农场有水源,在路上需要消耗...原创 2018-08-29 14:31:07 · 303 阅读 · 0 评论 -
最小生成树-Prim(普里姆)算法
最小生成树-Prim(普里姆)算法 算法定义: 假设 N=( V,{E} )(V为顶点集,E为边集合)是连通网,TE是N上最小生成树中边的集合,U为N上最小生成树的顶点集算法从U={u0}(u0为选定的起点,u0∈V),TE={}(空集)开始在所有 u∈U,v∈V-U 的边(u,v)∈E中,选一条代价最小(u0,v0)(两个集合间能连通的最小距)并入TE,同时 v0加入U,...原创 2018-08-29 14:15:11 · 646 阅读 · 0 评论 -
并查集-HDU 1213-How Many Tables
并查集-HDU 1213-How Many Tables 题目链接:How Many Tables 并查集基础: 数据结构-并查集 思路: 题目大意:一位哥过生日请了N个朋友,为了避免尴尬,没有交际的朋友之间不能在同一张桌子,给定M个人际关系,问需要安排的桌子数。题解:题目说得很明确,如果一个人在一个圈子中找到自己认识的人,那他也是这个圈子的人,就可...原创 2018-08-23 10:38:37 · 261 阅读 · 0 评论 -
并查集-POJ 1611-The Suspects
并查集-POJ 1611-The Suspects 题目链接:The Suspects 并查集基础: 数据结构-并查集 思路: 题目大意:0号同学是非典可疑患者,需要把和他可能有接触的群体隔离起来,问得隔离多少人题解:只要0所在群体的其他人有在另一个群体,那么那个群体也会被隔离,用并查集找出0所在的集合然后只要计数就可以啦,看看多少人和0在一个集...原创 2018-08-23 11:08:34 · 319 阅读 · 0 评论 -
并查集-HDU 1232-畅通工程
并查集-HDU 1232-畅通工程 题目链接:畅通工程 并查集基础: 数据结构-并查集 思路: 题目大意:中文自己看题题解:两个城市都可以实现交通:从一个城市可以通过公路到达另一个城市,不一定要直达很容易想,实现交通只要N个城市连成一条线就ok,也就是最少公路数为:MAX_Road_Num=N-1给了M条直达公路,问最少还要修几条,两种情况...原创 2018-08-23 10:55:52 · 271 阅读 · 0 评论 -
最小生成树-Kruskal(克鲁斯卡尔)算法
最小生成树-Kruskal(克鲁斯卡尔)算法 简述生成树: 生成树:给定一个无向图(顶点间连线不带方向),如果它任意两个顶点都联通并且是一棵树,那么我们就称之为生成树(Spanning Tree)最小生成树:如果是带权值的无向图,那么权值之和最小的生成树,我们就称之为最小生成树(MST, Minimum Spanning Tree)应用:最小生成树广泛应用于...原创 2018-08-26 11:31:31 · 855 阅读 · 0 评论 -
最小生成树(Kruskal)POJ 1258 Agri-Net
最小生成树(Kruskal)POJ 1258 Agri-Net 题目链接: Agri-Net 题目基础: 最小生成树-Kruskal(克鲁斯卡尔)算法 思路: 题目大意:有N个村庄,输入每个村庄到编号为1~N的距离,每个村落都需要网络覆盖,问网线的最短长度题解:最小生成树的裸题,按模板打说个优化吧,样例给的是一个矩阵,但很容易想到,1到3的距离和...原创 2018-08-26 11:47:14 · 423 阅读 · 0 评论 -
最小生成树(Kruskal)HDU 1863-畅通工程
最小生成树(Kruskal)HDU 1863-畅通工程 题目链接: 畅通工程 题目基础: 最小生成树-Kruskal(克鲁斯卡尔)算法 思路: 题目大意:中文题目略题解:Kruskal水题,有个概念,如果M个村庄能够连通,并且是在并查集下连通,需满足道路数Road_Num=M-1所以在题目中,如果合并的道路小于M-1,是不能将M个村庄连通的...原创 2018-08-26 12:00:38 · 454 阅读 · 0 评论 -
PAT-Advanced Level-1002-All Roads Lead to Rome
PAT-Advanced Level-1002-All Roads Lead to Rome题目链接:All Roads Lead to Rome题目大意:除起点外每个顶点都有幸运值,寻找一条最短路径到ROM(Rome),若存在多条路径,找出其中幸运值总和最大的路径,若总和相等,找出幸运值平均值最大的路径。题目分析:Dijkstra+DFS详见类同题目的分析:PAT-Adv...原创 2018-11-18 13:48:15 · 505 阅读 · 0 评论