图论
文章平均质量分 71
ZXLS-ZMR
我喜欢编程喜欢学习新的知识
展开
-
poj3041-二分图最大匹配
连接有关二分图分析题目:连接就知道了行和列分别看成两个集合,子弹看成边就行了,一个典型的模板题。代码如下:#include#includebool used[505];int map[505][505];int match[10005];int n;bool find(int i){ for(int j=1;j<=n;j++) { if(map[i][原创 2013-05-01 20:50:23 · 625 阅读 · 0 评论 -
POJ-1556 线段相交的判断与最短路(几何+图论)
题意:在10*10的房间里,有些墙,问你从源点(0,5)到对面的点(10,5)的最短路,不能穿过墙。分析:或许看到了最短路,这题大概就有思路了,到我还是有点疑问,”为什么最短的路一定要从墙的端点过去,有没有存在一条路径从某一点(不在这些点)使它能直接到达目的地“?而这些点是有可能的。但我听别人说过端点就行了,我也不再去追究了。如果是过端点,那就好办了,由于点不多,枚举所以可能的原创 2013-08-19 16:12:24 · 722 阅读 · 0 评论 -
HDU-1565,1569 最大点权独立集(网络流)
题目连接HDU 1565和1569同属一个问题:最大点权独立集。这是一个二分图最大点权独立集,就是找出图中一些点,使得这些点之间没有变相连,这些点的权值之和最大。独立集与覆盖集是互补的,求最大点独立集可以转化为最小点权覆盖集(最小点权支配集),最小点权覆盖集问题可以转化为最小割问题。 结论: 最大点权独立集=所以点权-最小点权覆盖集=所有点权-最小割集=所有点权-网络最大流。原创 2013-07-22 21:44:26 · 998 阅读 · 0 评论 -
HDU-2444 二分图的判别和最大匹配数。
题意:n个人,有m对关系,问你能否把他们分成两组,使得他们任意两两之间都不相互认识。如果不能输出“No”否则,问你,他们之间最最多认识的人。分析:题意很明了,一个时要我们判断他们之间能否构成 二分图,另外求二分图的最大匹配数。关于判断二分图。一个最基本的方法就是染色法,意思是:把他们有关系的用两种不同颜色染色。通过邻接矩阵搜索,如果有一对有关系,并且颜色是相同的。那么就不是二分图了原创 2013-07-19 10:40:00 · 748 阅读 · 0 评论 -
poj1459-Dinic算法
题目连接题目废话真多!题目的意思是: 有n个发电站,np个消费点,nc个转站点,m条线缆。问你输出的最大电量。输入说明: 前面四个分别表示:发电站的个数,消费点的个数,转站点个数,和线缆数。接下来前m是线缆连接的点数(1,0)代表线缆的两个连接点,再就是n个消费的位置(i)和需求。最后就是转站点的位置(i)和最大流通量。分析:此题是一个模板题,用dinic算法就可以A了原创 2013-07-20 17:13:00 · 743 阅读 · 0 评论 -
poj1698-网络流,(Ek)和(Dinic)算法。
题目连接开始学习网络流了,刚开就做这道题,确实不知道这么建图。发现网络流建图很重要,图建好了,问题就好解决了,这题确实建图有难度。原创 2013-07-19 21:38:54 · 770 阅读 · 0 评论 -
poj-1469,1274 二分图匈牙利算法
题目连接题意:学生有各自喜爱的课程,所以对于一个课程可能存在多个学生喜欢它,但我们想要没门课程都有人选。第一个数据,代表测试的个数,接下来是课程p个,学生n个,在接下的p行里,一次代表课程1,2...p,每行 i 第一个字母是科目i喜爱这科目的学生,在输入学生编号。输出:是否能满足要求,能就输出“YES”,否则就输出“NO”。分析:这是个分配问题,自然想到了二分图最大匹配。课程原创 2013-05-02 20:28:40 · 755 阅读 · 0 评论 -
HDU-1142 最短路(spfa)
题目连接题意: 办公室(起点)的编号为1,家(目的地)编号为2。给你一些编号之间的距离。问你,若当前所在的位置A,与B所能到达目的地的最短路径远些,那么就可从A走到B,那么满足这样的条件,有多少条路径。分析:根据题意,要判断能否可以走,必须知道当前点到目的地的最短距离,那么,我们只要从目的地出发,搜索最短路就可以了。(最好不要用dijkstra).然后,在进行记忆搜索就行了。原创 2013-07-18 09:21:40 · 715 阅读 · 0 评论 -
poj2449-A*算法+优先队列+第k最短路
点击打开链接分析:A*算法主要由是估价函数f(n)=g(n)+h(n);其中g(n)代表当前的实际代价。h(n)是估计代价。算法的效率直接取决于h(n)的评价性。h(n)的设计思想是无限靠近(极限).在本题中,g(n)代表从初始位置到当前x点所付出的代价。h(n)代表从当前x点到目标位置的估计代价。本题关键是怎样求h(n),每个点到目标点t不一定联通。也不好估价,巧妙之处是:从目标t到原创 2013-05-28 21:18:38 · 1085 阅读 · 0 评论 -
poj3635-DP+优先队列搜索最短路
题目连接这题限制较高。一般的算法过不了。自己做起来很吃力。到网上参考牛人代码为之惊叹,处理方法真是不可思议。佩服!佩服!这题难点就是如何判断汽车加油的问题。为什么加油是一升一升地加。主要是设计的dp搜索是关于路径与油的体积的状态。我认为非常巧妙。把问题简化了许多,能用的dp的思想和优先队列来进行搜索,为之叫绝。稍微简化了代码,时间也减小了点,心里还是稍有点欣喜。#inc原创 2013-05-27 22:18:09 · 1047 阅读 · 0 评论 -
poj2387-最短路dijkstra算法
题目连接分析:这题是道典型的最短路程问题,用dijkstra算法就行了。题目中说过它是双向边,所以输入的时候要选最小的边。注意这里就是模板题了。代码:#include#include#define INF 1<<29int N,T;int graph[1005][1005];int visit[1005],d[1005];void dijkstra(){ int原创 2013-05-26 18:16:39 · 788 阅读 · 0 评论 -
poj1847-单源路径dijkstra算法
题目连接题意:有n个交叉点,每个交叉点有一个开关,开关能指向其它的交叉点。告诉你n个交叉点,初始位置,和目标位置。要你改变开关的总次数最小。接下n行输入里,每行代码第i个交叉点,一行中,第一个代表,开关指向的另一个交叉点的个数,后面的代表开关能指向的交叉点的编号。(开关指向第一交叉的编号为初始状态)分析:这题看起来给路径没什么联系,其实,它还是个路径问题,只不过问题的方式不同,原创 2013-05-26 19:34:58 · 728 阅读 · 0 评论 -
poj1062-dijkstra算法
点击打开链接题目分析:最短路径,用dijkstra算法可一个实现。就是多了限制条件。用枚举方法。代码;#include#include #define max 1000000int n,m;int graph[105][105];int value[105],level[105],d[105];bool used[105],limit[105];int dij原创 2013-05-25 15:59:15 · 642 阅读 · 0 评论 -
2013湘大ACM多省比赛-hurry up
题目连接题意:没什么可谈的,就是一个几何+三分查找题,列出关系式,在x1到x2之间找出最小值,该函数是一个凸函数,利用三分查找,是最合适不过了。要注意精度。代码:#include#include#define eps 1e-8double v1,v2,low,high;int sign(double x){ return x eps; }double cou原创 2013-05-12 18:49:00 · 1118 阅读 · 0 评论 -
poj-3159,SPFA+堆栈
题目连接分析:本题是通过最短路径来求差分约束问题。关于差分约束问题,为什么可以用最短路来求解。可以到网上找。求最短路径,这题因为点比较多,所以用spfa写方便些。不过用列队会溢出,用循环列队会超时,所以这题可以用栈来实现。即节省空间,又可省时间。代码:(弱弱地参考别人代码)#include#include#include#define INF 1000000using na原创 2013-05-26 22:14:37 · 1050 阅读 · 0 评论 -
poj1422
题目连接这题与以前的代码没什么两样,就是多算一个“最小路径覆盖数=总的顶点数-最大匹配数。把原图一个顶点分成两个集合。代码如下:#include#includeint n;int map[125][125];int match[125],used[125];int find(int i){ for(int j=1;j<=n;j++) { if(map[i][j]&原创 2013-05-02 22:08:11 · 561 阅读 · 0 评论 -
poj-2914 最小割stoer算法
这题说是模板题,用stoer算法可以过,关于这个算法,网上很多雷同的讲解,自己就没必要再贴一份了(搞不清谁是原著)贴一个模板吧(提交是8000多ms,看牛人将可以达到500多ms,求牛人指点啊)#include#include#include#define INF 1000000000using namespace std;const int N=505;int graph[N原创 2013-08-10 10:45:57 · 726 阅读 · 0 评论