![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
文章平均质量分 59
花酱_
这个作者很懒,什么都没留下…
展开
-
Stock Chase hdu3357 图论
http://acm.hdu.edu.cn/showproblem.php?pid=3357我把前辈的说明复制来。。 =.=按所给的顺序,给出一条有向边,如果加上这条边会出现环,那就舍弃这条边,问一共有几条边要舍弃如果加入的边a到b不会出现环,要做一次更新,有三类更新:i->a->b->j => i->j;i->a->b => i->b;a->b->j => a->j转载 2013-02-04 14:37:59 · 383 阅读 · 0 评论 -
Choose the best route hdu2680 Dijkstra
http://acm.hdu.edu.cn/showproblem.php?pid=2680这个题,好艰辛。咳咳。 是一道多个起点,一个终点的最短路问题。最初用Floyd交了回,超时了。1000的立方过亿了,用Floyd就会超时。后来又笨笨的写了笨笨的dijkstra, 还是超时了。后来又改进了dijkstra。出现了WA。原因 是这个题他居然是个有向图啊。~~后来改成有向图,原创 2013-02-06 11:17:47 · 333 阅读 · 0 评论 -
小希的迷宫 hdu1272 并查集
http://acm.hdu.edu.cn/showproblem.php?pid=1272稍稍变异的并查集。题意:给出几个等价关系,判断通过这些等价关系所有点是否都连通,并且每两个点之间只有一条路可走。若符合这两个条件,输出“Yes”,否则输出"No"。#include using namespace std;#define N 100005int room[N];bool原创 2013-01-26 14:11:07 · 435 阅读 · 0 评论 -
畅通工程 hdu1232 并查集
http://acm.hdu.edu.cn/showproblem.php?pid=1232题意:给N个城市,然后M条城市之间的道路,问至少再修多少条道路能让所有城市都连通。赤裸裸的并查集~、并查集三步策略:初始化、寻找父节点、合并。#include using namespace std;#define N 1005int town[N];int findfathe原创 2013-01-25 21:35:38 · 390 阅读 · 0 评论 -
还是畅通工程 hdu1233 Prim
http://acm.hdu.edu.cn/showproblem.php?pid=1233很久不写代码。敲一道最小生成树。赤裸裸的最小生成树。#include using namespace std;#define N 105#define MAX 0x7ffffffint map[N][N],dir[N];bool visited[N];int main(){#ifn原创 2013-04-26 19:52:59 · 596 阅读 · 0 评论 -
find the safest road hdu1596 最短路
http://acm.hdu.edu.cn/showproblem.php?pid=1596。。就是简单的最短路。不过把最短路径的求法变了一下而已。自己的代码。发现它跑了1500+MS,发现此题把时间放开了哦。#include using namespace std;#define N 1005double map[N][N],prob[N];bool visited[N];原创 2013-01-29 19:50:18 · 476 阅读 · 0 评论 -
我想去旅行 bjfu 1126 并查集
描述五一快到咯,大家都在计划着去哪里玩。EE呢,也在计划着出去玩,听说欧洲很浪漫,他就想趁这几天去欧洲几个国家玩玩。但是呢,有一个问题就是,他不知道他的钱在他想去的几个国家是否可以用。请你帮他判定一下他是否决定要不要去这几个国家旅游(假设两个国家的货币可以相互兑换,则表示他的钱可以在这两个国家使用)输入输入包括多组数据,每组数据第一行是两个数N,M(代表他一共想去N个国家,其中有M种兑原创 2012-11-02 23:52:37 · 469 阅读 · 0 评论 -
Constructing Roads hdu1102 kruskal
http://acm.hdu.edu.cn/showproblem.php?pid=1102最小生成树,用kruskal算法(克鲁斯克尔算法)。步骤:1.新建图G,G中拥有原图中相同的节点,但没有边2.将原图中所有的边按权值从小到大排序3.从权值最小的边开始,如果这条边连接的两个节点于图G中不在同一个连通分量中,则添加这条边到图G中4.重复3,直至图G中所有的节点都在同一个原创 2013-01-29 17:03:48 · 397 阅读 · 0 评论 -
Arbitrage hdu1217 Floyd算法
http://acm.hdu.edu.cn/showproblem.php?pid=1217题意:给几个国家,然后给这些国家之间的汇率。判断能否通过这些汇率差进行套利交易。Floyd的算法可以求出任意两点间的最短路径,最后比较本国与本国的汇率差,如果大于1,则可以。否则不可以。最短路径,Floyd的算法原理:Floyd-Warshall算法的原理是动态规划。设D(i,j,k)为原创 2013-01-30 19:52:14 · 1843 阅读 · 0 评论 -
How Many Tables hdu1213 并查集
http://acm.hdu.edu.cn/showproblem.php?pid=1213。。。好久没写代码了。= =。 非常简单的并查集。#include using namespace std;#define N 1003int people[N];int findfather(int n){ if (n!=people[n]) people[n]=findfathe原创 2013-04-19 16:20:13 · 594 阅读 · 0 评论 -
More is better hdu1856 并查集
http://acm.hdu.edu.cn/showproblem.php?pid=1856题意:老师想从10000000里面找尽可能多的学生帮他做项目,条件是这些人必须都认识。给n个关系,求最多有多少个人能帮助老师做项目。因为数据量较大,如果不进行数据压缩的话就过不去。#include using namespace std;#define N 10000005int boy[原创 2013-01-26 11:31:55 · 571 阅读 · 0 评论 -
Dark roads hdu2988 Kruskal
http://acm.hdu.edu.cn/showproblem.php?pid=2988最小生成树啦。赤裸裸的Kruskal算法。这个题不能用Prim,因为没办法把二维数组开那么大哦。嘿嘿~~ 还是比较简单的。#include #include using namespace std;#define N 200005int junctions[N];struct r原创 2013-01-31 19:59:17 · 509 阅读 · 0 评论 -
修路 bjfu 1046 最小生成树
描述ben向往隐士生活。假设有一天ben和另外n-1个志同道合的人约好一起去隐居,并且他们已经找到了一个山清水秀,鸟语花香的神秘、绝佳去处。他们选出适宜居住n个位置后,又嫌交通不便,所以想修一些路将他们的居住场所连接起来。ben是个例外,他觉得既然隐居嘛,何必在乎交通呢。现在给定他们选出的n个居住地的坐标,请帮他们设计一种方案,也就是修n-2条路将其中n-1个居住地连接起来使修路的成本最小。(原创 2012-12-06 22:53:45 · 514 阅读 · 0 评论 -
A strange lift hdu1548 Dijkstra算法
http://acm.hdu.edu.cn/showproblem.php?pid=1548Dijkstra算法:单源最短路径问题——包括确定起点的最短路径问题,确定终点的最短路径问题(与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。在无向图中该问题与确定起点的问题完全等同,在有向图中该问题等同于把所有路径方向反转的确定起点的问题。)确定起点终点的最短路径问题——即已原创 2013-02-01 20:11:37 · 415 阅读 · 0 评论 -
变形课 hdu1181 图论
http://acm.hdu.edu.cn/showproblem.php?pid=1181我用在前辈空间上看的的方法,更新情况分三种。i->a->b->j => i->j;i->a->b => i->b;a->b->j => a->j;这样比较简单的写了出来。#include #include using namespace std;#define N 27#原创 2013-02-05 21:54:57 · 461 阅读 · 0 评论 -
Jungle Roads hdu1301 Prim
http://acm.hdu.edu.cn/showproblem.php?pid=1301就是一个最小生成树啦。目测建立一个map,比建立一个road集合略容易,所以选择了Prim。还是比较基础的。#include using namespace std;#define NROADS 78#define INF 999int map[NROADS][NROADS],dir[N原创 2013-02-07 11:43:15 · 485 阅读 · 1 评论