
图论
文章平均质量分 78
aGoshawk
生命不息,奋斗不止!
展开
-
HDU2680Choose the best route
这个题有liangg原创 2014-08-08 19:18:51 · 569 阅读 · 0 评论 -
poj1258 Agri-Net ——————【 Kruskal 】
这是一道全裸的最小生成树,原创 2014-08-11 16:11:32 · 521 阅读 · 0 评论 -
hdu1507——Uncle Tom's Inherited Land*————————【二分图最大匹配、奇偶分离】
/* 二分图最大匹配,同时加上奇偶分离。用匈牙利算法增广找最大匹配及相互匹配的点对*/题目大意:有n*m的一块儿土地遗产,现在想要卖掉,已知黑格子是池塘不能卖,白格子需要两块儿连一起才能卖,问最多能卖多少个这样的可卖土地。/** 划分奇偶 二分匹配 增广至最大匹配*/#include#include#include#includeusi原创 2015-01-18 11:46:40 · 600 阅读 · 0 评论 -
hdu1350——Taxi Cab Scheme——————【最小路径覆盖、最大匹配转化】
/* 解题思路: 本题目模型是DAG的最小路径覆盖。最小路径覆盖可以转化成最大匹配求解。 解法:将所有节点i拆为点Xi和点Yi,如果图中存在有向边i——>j,则在二分图中引入Xi——>Yj。图建好后就可以增广求最大匹配,进而求最小路径覆盖。*/题目大意: 你需要安原创 2015-01-19 10:20:52 · 887 阅读 · 0 评论 -
uva11419——SAM I AM——————【最小覆盖数、打印最小覆盖】
/** 解题思路:将每一行看作一个X结点,每一列看作一个Y结点,每个目标对应一条边,这样,子弹打掉所有目标意味着每条边至少有一个结点被选中。构造解:借助于匈牙利树,从X中的所有未盖点出发扩展匈牙利树,标记树中的所有点,则X中的未标记点喝Y中的已标记点组成所求的最小覆盖。*/题目大意:在R*C的网格中放目标,子弹水平或垂直飞行,会打掉飞行路线上所有目标,问打掉所有目标,至少需要多原创 2015-01-20 17:39:23 · 658 阅读 · 0 评论 -
poj2485Highways——————【 Prim 】
这个题目是最小生成树的一个小小的bianxing原创 2014-08-11 17:10:21 · 577 阅读 · 0 评论 -
poj3352——Road Construction——————【加边为边-双连通图】
/** 解题思路:找到图的边-双连通分量,将分量缩成点后,求出缩点后的dfs树的各个结点的度,求出叶子结点(度为1)个数,根据定理计算需要加的最少边即可。*/题目大意: 某度假公司要在可互相到达的各景点(连通图)的一些路上做些装饰,正在装饰的道路暂时不可以通行,现需要架设临时通道,使各个景点仍可相互到达,问最少需要架多少条通道。/*原创 2015-01-23 15:33:23 · 715 阅读 · 0 评论 -
hdu3394——Railway——————【判断桥和双连通分量】
/** 解题思路: 本题中的冲突边是指形成环的边且边数大于点数,即本环中所有的边都是冲突边。 不必需边是无向边形成的环,即所要求的桥。*/题目大意:要在景点修铁路,给定景点个数n,要修的铁路条数m。如果是不是无向边构成的环形路线,则是不必要的铁路。如果两个环有公共边,则环中原创 2015-01-24 16:48:50 · 667 阅读 · 0 评论 -
dijkstra模板
dijkstra能够解决wuxiangyouxinag原创 2014-08-10 11:57:10 · 603 阅读 · 0 评论 -
poj2771——Guardian of Decency——————【最大独立集、最大匹配扩展】
/** 解题思路:将每个学生当做一个结点,如果两个人4个条件都不满足,就意味着他们不能同时被选择,连一条无向边。问题就转化为求这个图的最大独立集。可以分男女入图,也可以不分男女。下面给出两种方法。*/题目大意: 有个思想保守的老师的老师,组织外出,但又怕同学在旅途中产生爱意,于是要求满足带出去的任意两个同学至少满足下面4条中的一条。(1)身高差大原创 2015-01-19 17:18:25 · 552 阅读 · 0 评论 -
hdu1269——迷宫城堡——————【kosaraju模板】
这个算法可以解决判断和打印各个强连通分量的问题。对于本题,只要判断就行。#include#include#include#include#includeusing namespace std;const int MAXV=11000;vectorG[MAXV],T_G[MAXV]; //原图和转置图vectorS; //用来存放dfs后的原创 2015-01-17 10:58:08 · 541 阅读 · 0 评论 -
floyd模板
floyd解决的是多源最短路问题,通过三层xunh原创 2014-08-10 11:44:29 · 1104 阅读 · 0 评论 -
poj1860Currency Exchange
这是一道很不错的题目,原创 2014-08-08 17:23:05 · 659 阅读 · 0 评论 -
hdu2962trucking
这道题难在要在一定条件下求得原创 2014-08-14 17:07:35 · 793 阅读 · 0 评论 -
最短路SPFA
l原创 2014-08-07 11:41:02 · 489 阅读 · 0 评论 -
最大流Edmonds-Karp模板
在广搜的基础上设计的算法。原创 2014-08-15 12:23:55 · 459 阅读 · 0 评论 -
hdu1879——继续畅通工程——————【kruskal模板】
以前写过这道题不止一遍,但是再碰到这个题目的时候还是迷茫,长时间不练习这方面的题目就不会了,看来真的需要坚持码代码,不写会生疏的!#include#include#include#includeusing namespace std;//最小生成树,拓扑排序,最短路径,二分图,网络流。const int N=110;int father[N*N];struct node {原创 2015-01-15 20:40:19 · 683 阅读 · 0 评论 -
hdu1269——迷宫城堡——————【kosaraju】
概念解释 [强连通]——有向图G中,任意点对能相互到达,即存在路径,则称为强连通。 [连通分量]——指的是无向图中的极大连通子图。一个连通图的生成树是一个极小连通子图。 //只是判断是否强连通#include#include#include#include#includeusing namespace st原创 2015-01-16 18:47:33 · 702 阅读 · 0 评论 -
hdu1269——迷宫城堡——————【双向并查集判断】
解题思想:通过利用设定1为根节点,然后建立以1为根的树,查找时,如果所有节点都是以1为根,则说明单向互通;然后再逆序采用相同的操作,如果逆序得到的所有节点也是以1为根,则说明逆向互通,此时说明图为强连通图。这里用两个父亲数组来完成正向和逆向操作。#include#include#include#includeusing namespace std;const int MAXV=110原创 2015-01-17 08:41:30 · 942 阅读 · 0 评论 -
HDU2063——过山车——————【二分图最大匹配模板】
/** 未盖点:不与任何匹配边邻接的点 匹配点:匹配边相连的顶点 匹配:两两没有公共点的边集 交替路:从未盖点出发,依次经过非匹配边,匹配边,非匹配边....所得到的路径 增广路:交替路的终点是一个未盖点。 增广路的长度为奇数,因为非匹配边比匹配边多一条。 一个匹配是最大匹配的充要条件是不存在增广路。 匈牙利算法,即不断增广,直到原创 2015-01-17 20:55:13 · 604 阅读 · 0 评论