ACM 图论
昵称格式错误
这个作者很懒,什么都没留下…
展开
-
【HDOJ 1242 Rescue】bfs+优先队列
#include<iostream>using namespace std;#include<queue>int dir[4][2]={{0,1},{1,0},{0,-1},{-1,0}};char maze[201][201];int n,m;struct Node{ int x,y,t; Node(int xx,int yy,int tt); b...原创 2018-05-26 23:02:04 · 166 阅读 · 0 评论 -
有坑的最短路径问题
A - The Road to Radio HDU - 1874 题目看起来很简单,直接用floyd算法就能过的题,但是WA了无数次,因为存在两点之间有多重边的情况....此时就取最小Floyd算法重点1.初始化操作,对于邻接矩阵,对角线初始化为0,非对角线初始化为INF,然后根据有的边和权值进行初始化2.算法核心,三重循环#include<iostream>using namesp...原创 2018-05-30 22:18:12 · 314 阅读 · 0 评论 -
Bellman Ford算法解负权图问题
B - 耳机楼的通道 POJ - 3259 题意解析要求判断经过走廊和一些秘密通道,能否回到出发之前的时间。——即有没有权值和为负(之前的时间)的回路(出发之前,要求起点和终点一样才是回到了出发之前的时间)1.走廊,等价为从S到E权值为W的有向边和从E到S权值为W的有向边2.秘密通道,等价为从S到E权值为W的有向边解法因为权值中有负数,自然不能dijikstra,并且又是判断有没有负权回路,即该负...原创 2018-05-30 21:51:41 · 614 阅读 · 0 评论 -
为什么Dijkstra算法不适用边长为负数的情况
Dijkstra算法(这个荷兰词真难读。。。不过Dijkstra是一位非常NB的计算机科学家,goto有害论、信号量和PV原语、哲学家聚餐问题、银行家算法等等,都是这位大牛搞出来的),是有向/无向加权图(就是每条边都有长度)中,计算两个点之间最短距离的有效方法,在使用堆排序的情况下,它的时间复杂度为O(Nlog(N+M)),(这里N代表节点数,M代表边数)很接近线性了,还是非常好的。不过,Dijk...转载 2018-05-30 18:56:43 · 1715 阅读 · 0 评论 -
二分图最大匹配——匈牙利算法
二分图的概念二分图又称作二部图,是图论中的一种特殊模型。 设G=(V, E)是一个无向图。如果顶点集V可分割为两个互不相交的子集X和Y,并且图中每条边连接的两个顶点一个在X中,另一个在Y中,则称图G为二分图。 二分图的性质定理:当且仅当无向图G的每一个回路的次数均是偶数时,G才是一个二分图。如果无回路,相当于任一回路的次数为0,故也视为二分图。二分图的判定如果一个图是连通的,可以用如下的方法判定是...转载 2018-05-30 14:24:51 · 325 阅读 · 0 评论 -
最大流问题——Dinic算法
#include<iostream>using namespace std;#include<queue>#include<memory.h>#include<stdlib.h>class Graph{ private: int res[101][101]; int n; int flow[101][101]; int...原创 2018-05-30 10:00:12 · 408 阅读 · 0 评论 -
ACM 图论 最大流问题
一:最大流问题简介1.源点,点源点:只出不进,即图中Vs汇点:只进不出,即图中Vt2.容量c(u,v)为从点u到点v能通过的最大流量。上图为容量图,则c(2,1)=43.流量f(u,v)为从点u到点v通过的实际流量4.可行流满足:(初始化的可行流为每边流量全为0)5.残量res(u,v)=c(u,v)-f(u,v)为点u到点v间还能通过的流量6.增广路径为从源点到汇点,所经过的每一条边,满足残量大...原创 2018-05-30 09:56:40 · 1095 阅读 · 0 评论 -
【POJ 1258 Agri-Net】MST
Agri-NetTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 66487 Accepted: 27548DescriptionFarmer John has been elected mayor of his town! One of his campaign promises was to bring internet con...原创 2018-05-29 10:50:16 · 195 阅读 · 0 评论 -
【POJ 1251 Jungle Roads】MST
Jungle RoadsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 30513 Accepted: 14264DescriptionThe Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign aid money was...原创 2018-05-29 10:32:09 · 156 阅读 · 0 评论 -
【POJ 2253 Frogger】
变种的dijikstra注意输出格式:#include<iostream>using namespace std;#include<algorithm>#include<math.h>#include<memory.h>int n;double v[205];bool mark[205];double temp[205][205];...原创 2018-05-28 20:23:58 · 114 阅读 · 0 评论 -
【POJ 1797 Heavy Transportation】
方法有1.dijikstra (原来的变形,更改初始化条件和更新条件,每一项记录当前从第一点到该点的最大承重值)#include<iostream>using namespace std;#include<algorithm>#include<memory.h>int v[1005];int mark[1005];int graph[1005]...原创 2018-05-28 18:31:55 · 198 阅读 · 0 评论 -
【POJ 1125 Stockbroker Grapevine】floyd/dijikstra
题意:众所周知,证券经纪业依靠的就是过度的传言。您需要想出股票经纪人中传播假情报的方法,让您的雇主在股票市场的占据优势。为了获得最大的效果,你必须蔓延最快的方式谣言。 不幸的是你,股票经纪人信息只信任他们的“可靠来源”,这意味着你在你传播谣言之前必须考虑到他们的接触结构。它需要特定股票经纪人和一定的时间把谣言传递给他的每一位同事。你的任务将是写一个程序,告诉您选择哪一个股票经纪人作为谣言的出发点和...原创 2018-05-28 10:13:15 · 175 阅读 · 0 评论 -
【POJ 1062昂贵的聘礼 】
将Input转化成图,求解最短路径问题#include<iostream>using namespace std;#include<memory.h>#include<limits.h>int Graph[105][105];bool mark[105];int v[105];int grade[105];int nodeal;int M,N...原创 2018-05-27 12:17:22 · 179 阅读 · 0 评论 -
【poj(1011)——Sticks】dfs+剪枝
涉及到dfs和剪枝,并且不剪枝就会TLE,剪枝了,也可能TLE ......关键看其他地方效率高不高,最好还是用qosrt函数,而不是sort函数#include<iostream>using namespace std;#include<cstdio>#include<memory.h>#include<cstdlib>int a[64...原创 2018-05-26 23:07:46 · 172 阅读 · 0 评论 -
差分约束系统
差分约束系统①求满足所有不等式的前提下,第i个不等式可取到的最大值(即max Xi - Xj [其中Xi,Xj是第i个不等式的Xi,Xj]), 添加源点,将不等式转换成图【Xi - Xj <= c,化成边Vj -> Vi,权值为c】,求图的最短路径,对应的d[i]即为xi的最大值①求满足所有不等式的前提下,第i个不等式可取到的最小值(即min Xi - Xj [其中Xi,Xj是...原创 2018-08-01 16:14:00 · 270 阅读 · 0 评论