图论
神探特斯拉
这个作者很懒,什么都没留下…
展开
-
算法学习之Bellman-Ford单源最短路问题
一.算法分析这个算法的思路还是很清晰的,该算法以边作为主要研究对象。 首先我们考虑使用一个边,这边用邻接表类似的形式由u[i](储存起始点)v[i](储存终点)w[i](储存边长权值)来保存,那么是否可以通过这条边来使的我们的起点到这条边的终点的距离缩短呢?如果可以的话就缩短这个距离,如果不行的话就放弃,之后依照这个思路将所有的边都遍历一遍,然而这样就结束了么?当然不行!很容易就能原创 2016-03-14 20:31:05 · 781 阅读 · 0 评论 -
图论小结
因为最近在搞图论,这部分内容比较杂,有些地方的思路有些相似,先临时总结一下,之后有空在仔细的修订吧一.强连通分量先上百科定义有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强原创 2016-08-30 16:47:30 · 1568 阅读 · 0 评论 -
UVA 12219 Common Subexpression Elimination(表达式树)
Let the set Σ consist of all words composed of 1-4 lower case letters, such as the words "a", "b", "f", "aa", "fun" and "kvqf". Consider expressions according to the grammar with the two rules E ->原创 2016-08-20 17:05:12 · 658 阅读 · 0 评论 -
HDU 1269 迷宫城堡(强联通图判定)
Font Size: ← →Problem Description为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(NInput输入包含多组数据,输入的第一行有两个数:N和M,接下来的M行每行有两个数a和b,表示了一条通道可以从A房间来到B房间。文件最后以两个0结束。Output对于输入的每组数据,如果任意两个房间都是相互连原创 2016-08-20 17:31:10 · 414 阅读 · 0 评论 -
Codeforces Round #368 (Div. 2) Bakery
B. Bakerytime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputMasha wants to open her own bakery and bake muffi原创 2016-08-20 23:47:15 · 430 阅读 · 0 评论 -
POJ 2186 Popular Cows(强联通分量缩点+tarjan算法)
Popular CowsTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 30846 Accepted: 12531DescriptionEvery cow's dream is to become the most popular cow in the her原创 2016-08-31 17:43:28 · 477 阅读 · 0 评论 -
POJ 1236 Network of Schools(强连通分量缩点+tarjan算法)
Network of SchoolsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 16197 Accepted: 6434DescriptionA number of schools are connected to a computer network.原创 2016-09-01 18:14:01 · 340 阅读 · 2 评论 -
kuangbin求带飞网络流 ACM Computer Factory(最大流节点型)
A - ACM Computer FactoryTime Limit:1000MS Memory Limit:65536KB 64bit IO Format:%lld & %lluSubmit StatusDescriptionAs you know, all the computers used for ACM contests mus原创 2016-08-26 23:29:01 · 1152 阅读 · 0 评论 -
tarjin模板题HDU1269
#include <iostream>#include <cstring>#include <stack>#include <cmath>using namespace std;const int maxn = 10000 + 10;const int maxm = 100000 + 10;int head[maxn], pos, n,...原创 2018-03-07 09:34:43 · 300 阅读 · 0 评论 -
poj1985树的直径
点击打开链接#include <iostream>#include <cstring>#include <cstdio>using namespace std;const int maxn = 500000 + 10;const int maxm = maxn + 10;int head[maxn], pos, n, m, vis[maxn], di...原创 2018-03-08 21:19:01 · 368 阅读 · 0 评论 -
HDU 2063 过山车(二分图最大匹配问题,匈牙利算法)
Problem DescriptionRPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了。可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐。但是,每个女孩都有各自的想法,举个例子把,Rabbit只愿意和XHD或PQK做partner,Grass只愿意和linle或LL做partner,PrincessSno原创 2016-08-20 17:13:49 · 472 阅读 · 0 评论 -
HDU 2063 过山车(二分图最大匹配问题+最大流 超时解法)
Problem DescriptionRPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了。可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐。但是,每个女孩都有各自的想法,举个例子把,Rabbit只愿意和XHD或PQK做partner,Grass只愿意和linle或LL做partner,PrincessSno原创 2016-08-30 19:59:19 · 576 阅读 · 0 评论 -
算法学习之邻接表
//// main.cpp// 邻接表//// Created by 张嘉韬 on 16/3/15.// Copyright © 2016年 张嘉韬. All rights reserved.//#include #include using namespace std;int main(int argc, const char * argv[]) { fre原创 2016-03-15 09:44:45 · 343 阅读 · 0 评论 -
白书学习之隐式图搜索之八数码问题
一.八数码问题编号为1-8的8个正方形各自被摆成3*3的样子,有一个空格,可以像华容道一样将旁边的正方形滑入空格处,现给出这个格子初始的状态和结束时的状态,最少经过多少次变换才能变换成为最终状态。 二.隐式图搜索与其说这是一种算法,不如说这是一种认知角度或者说思维,将每种八数码当前的形式看做一个状态,这个状态可以由线性的序列确定,然后从开始的状态进行搜索,不断通过可行的变换生成新的原创 2016-05-12 20:31:15 · 1232 阅读 · 0 评论 -
并查集应用总结
一.并查集的概念并查集是一种算法可以用来判断相互关联(同属一个集合)的元素属于几个集合,也可以用来判断图结构中的两点是否是联通的。并查集的设计思路是这样的:在程序执行过程中任意元素一定输于以下三种状态1.即f[i]=i,在该种状态下的元素可能是未被合并(初始状态),也可能是经过合并但是选择的父节点就是这个节点2.已有父节点并且就是当前状态下真正的父节点(其实是最正常的状态,第二种状原创 2016-05-06 21:23:14 · 7319 阅读 · 0 评论 -
算法学习之Floyd-warshall多源最短路问题
一.问题描述给定一个图,求任意两点间的最短距离二.输入样例4 81 2 21 3 61 4 42 3 33 1 73 4 14 1 54 3 12三.算法分析本问题可应用FW算法,下面先不说算法是怎么实现的,先分析一下这个问题怎么解决。 首先,可以这么想,任意两点之间的最短距离无非就三种情况 第一种 最短距离就是两点间原创 2016-03-14 16:30:24 · 798 阅读 · 0 评论 -
HDU 1879继续畅通工程(并查集)
Problem Description省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。Input测试输入包含若干测试用例。每个测试用例的第1行给出评估的道路条数 N、村庄数目M (原创 2016-08-19 09:13:18 · 281 阅读 · 0 评论 -
HDU 1532 Drainage Ditches(最大流)
Drainage DitchesTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7845 Accepted Submission(s): 3659Problem DescriptionEvery tim原创 2016-08-19 10:56:41 · 208 阅读 · 0 评论 -
算法学习之 图的割点
一.图的割点先解释一下什么叫图的割点吧,割点就是如果去掉这个点之后无法实现所有点的相互连通,那么这个点就是割点。二.寻找图的割点那么给定一张图怎么找到图的割点呢,当然了,所谓割点当然应该是一个图里只有一个强联通分量吧,那么说一下我们大致的算法,我们判断一个节点u是否是割点,就是判读他的子节点中是否存在节点不经过这个节点就无法回到祖先,如果是这样的,那么这个节点就是割点。我们用dfn[u原创 2016-08-29 23:23:52 · 2060 阅读 · 0 评论 -
HDU 2647Reward(拓扑排序)
Problem DescriptionDandelion's uncle is a boss of a factory. As the spring festival is coming , he wants to distribute rewards to his workers. Now he has a trouble about how to distribute the rewa原创 2016-08-22 19:09:15 · 393 阅读 · 0 评论 -
粉书练习之表达式树的实现
一.问题描述给定一个四则运算表达式,将其用树的形式储存起来,如a+b*(c-d)-e/f;二.思考经过对样例的模拟和归纳,大概可以推出来一些规则:1.对于任意的一步计算操作其实都是在两个计算元素之间进行的,并且两元素用运算符号链接有了这样的一条规律我们很容易就找到了解法,我们只要每次找到一个算式中的那个计算符号就可以确定两个计算元素,然后解析表达式了,很容易知道我们每次要找原创 2016-08-20 10:52:27 · 393 阅读 · 0 评论 -
I wanna go home( Djikstra 且特殊要求)
一、题意 给一张图,图中每个节点都分别属于两个颜色,要求求出从1号点到达2号点的最短路径,且该路径上最多只能有一条连接两个不同颜色的节点的边。二、求解思路 因为题目中给出1号点和2号点的颜色一定是不同的,所以最短路径上一定至少有一条边是连接两个不同颜色的边,所以我们可以枚举这条边。具体求解方法就是先用Dijkstra算出从1号点出(且不经过任何异色点)到所有同色点的最短距离,同理求解2...原创 2018-03-19 15:30:04 · 1126 阅读 · 0 评论