![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图
文章平均质量分 65
steven030143
这个作者很懒,什么都没留下…
展开
-
poj 1860 bellman_ford 求正权环
<br />/*<br /> <br />http://acm.pku.edu.cn/JudgeOnline/problem?id=1860<br /> <br />有向图。n个点,m条边。在起点s有价值v,求是否存在一条回路,使得价值提升。<br />从u到v的边,有参数r和c,计算点u到点v的转换价值为: 点v的价值=(点u的价值-c)*r<br /> <br />*/<br />#include<iostream><br />#include<cstdio><br />#include<cstdlib原创 2010-09-19 21:54:00 · 183 阅读 · 0 评论 -
poj 3041 最小点覆盖,二分图匹配,匈牙利算法
<br /><br />/*<br /> http://poj.org/problem?id=3041<br /> 一个N*N的表格,表格中有一些asteroid,weapon 每次开炮能清除一行或者一列的asteroid<br /> 求最少的开炮次数<br /> 建模:若存在点(u,v),则建一条从u到v的有向路<br /> 容易看出,这是一个二分图,每一条边表示表格中的一个点<br /> 问题转换为:求最少的点,使得每条边都能被这些点匹配到<br />原创 2010-10-01 10:42:00 · 279 阅读 · 0 评论 -
poj 3020 二分图匹配,最小路径覆盖
/*<br /> http://poj.org/problem?id=3020<br /> 题目大意:N个城市,一个基站可以覆盖相邻的两个城市,求最少需要几个基站<br /> 建模:建立无向的N*N二分图(不能建成有向的图,打表可以看出来),求最大匹配P。<br /> 这里的匹配,可以理解为相邻两个基站的匹配。那么N=P*2+单独的城市<br /> 而我们要求的最少基站数=P+单独的城市<br /> 所以N-P,就是最少需要的基站数<br /> 由于是无原创 2010-10-01 17:59:00 · 418 阅读 · 0 评论 -
poj 3026 广搜+最小生成树
<br />/*<br />http://acm.pku.edu.cn/JudgeOnline/problem?id=3026<br />题目大意:求从集合(刚开始只有S点)出发到所有A,不计算重复路径,只要到达一个A,就把该A点加入到集合中。其实就是求一个包含所有点的最小生成树。<br /> <br />算法:把S点和A点当做一样,计算两两之间的最短距离,由于有路障“#”的存在,所以采用广搜进行计算。(本来觉得如果已经计算了i到j,则不用再计算j到i,但事实上用广搜的话,这个步骤是不能省的)。然后就用pr原创 2010-09-28 08:55:00 · 208 阅读 · 0 评论 -
二分图、最大匹配等基本概念
<br />二分图<br />设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图<br /> <br />匹配<br />给定一个二分图G,在G的一个子图M中,M的边集中的任意两条边都不依附于同一个顶点,则称M是一个匹配 <br /> <br />最大匹配<br />边数最多的匹配(子图M)称为图G的最大匹配<br /> <br />最小覆盖<br />原创 2010-09-28 12:03:00 · 253 阅读 · 0 评论 -
poj 2240 spfa
<br />/*<br />http://acm.pku.edu.cn/JudgeOnline/problem?id=2240<br />求正权回路<br />*/<br /> <br /><br />#include<iostream><br />#include<cstdio><br />#include<cstdlib><br />#include<vector><br />#include<set><br />#include<queue><br />#include<map><br />#incl原创 2010-09-26 13:49:00 · 217 阅读 · 0 评论 -
poj 2253 求可达路上的最大边,dijkstra,spfa
<br />/*http://acm.pku.edu.cn/JudgeOnline/problem?id=2253求可达路上的权值最大的边在dijkstra中,d[i]表示源点s到i的最短路径,这里根据题目要求修改d[i]为“未访问”节点和“已访问”节点,两个点集之间的最短路则松弛条件为:d[i]=min(d[i],path[mark][i]);在算浮点数时,可将所有的路径都用int来表示,最后才开方。spfa是bellman_ford的优化,省去很多冗余的操作期望的时间复杂度O(ke), 其中k为所有顶点原创 2010-09-23 13:38:00 · 219 阅读 · 0 评论 -
poj 1062 Dijkstra最短路
<br /><br />/*<br /> http://acm.pku.edu.cn/JudgeOnline/problem?id=1062<br /> 解法:虚拟一个节点0,设第i物品的价格为p,则建一条有向边:path[0][i]=p;<br /> 若通过i物品,可以价格p得到j物品,则建一条有向边:path[i][j]=p; <br /> 然后通过dijkstra求0到1的最短路<br /> 特殊性:本题的特殊性为,等级。如果得到等级i的物品,则不能去交换比它等级高,原创 2010-09-23 09:44:00 · 222 阅读 · 0 评论 -
最短路总结 dijkstra,bellman_ford,spfa poj1125
<br />http://acm.pku.edu.cn/JudgeOnline/problem?id=1125<br /> <br />poj 1125这道题,题意为,找到所有可行路径(即从源点可到达所有其他的点,注意是有向图,所以必须要以)中,相距最远两点的距离最小。解法当然就是求最短路,分别用dijkstra,bellman_ford,spfa进行求解,但可惜这题数据太弱了,时间都是0ms<br /> <br />简要概括三种最短路算法,也算一个学习小结<br /> <br />dijkstra 单源最原创 2010-09-25 22:29:00 · 105 阅读 · 0 评论 -
最短路算法总结 dijkstra,bellman_ford,spfa poj 1125
<br />http://acm.pku.edu.cn/JudgeOnline/problem?id=1125<br /> <br />poj 1125这道题,题意为,找到所有可行路径(即从源点可到达所有其他的点,注意是有向图,所以必须要以)中,相距最远两点的距离最小。解法当然就是求最短路,分别用dijkstra,bellman_ford,spfa进行求解,但可惜这题数据实在太弱,时间都是0ms<br /> <br />简要概括三种最短路算法,也算一个学习小结<br /> <br />dijkstra 单源原创 2010-09-26 11:18:00 · 643 阅读 · 1 评论 -
poj 3259 bellman_ford
/*<br /> http://acm.pku.edu.cn/JudgeOnline/problem?id=3259<br /> bellman_ford 求负权回路,复杂度O(VE)<br /> 算法思想:<br /> 对所有的点,用每条边根据三角不等式(d[i]>d[j]+e(i,j))原理进行松弛。松弛n-1次,结束。<br /> 此时如果还能进行松弛,则说明图中存在负权回路。 <br /><br /><br /><br /> 题意:<br /> n个点,2原创 2010-09-21 08:37:00 · 218 阅读 · 0 评论 -
网络流
<br />要开始学习网络流的算法了,我一直认为网络流是图论中最难的算法,记下几个有用的文章,慢慢看。<br />http://www.zlinkin.com/?p=34YM<br />http://blog.csdn.net/helihui123/archive/2009/11/24/4861364.aspx<br />http://www.pin5i.com/showtopic-27240.html<br />http://www.cnblogs.com/lvpengms/archive/2010/02原创 2010-10-02 02:07:00 · 220 阅读 · 1 评论