![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
文章平均质量分 81
xuechelingxiao
这个作者很懒,什么都没留下…
展开
-
POJ 1860 Currency Exchange(最短路 Bellman-Ford)
Currency Exchange大意:有多种货币,之间可以交换,但是需要手续费,也就是说既有汇率又有手续费。问经过交换之后能不能赚。思路:Bellman_Ford,因为要求最长路,所以松弛条件改一下就好了。Tips:3 2 1 20.0货币的数量 兑换点的数量 主人公拥有的货币量 主人公拥有货币的价值1 2 1.00 1.00 1.00 1.00//货币1与货币2交换时原创 2014-01-20 08:02:20 · 670 阅读 · 0 评论 -
POJ 1125 Stockbroker Grapevine(最短路 Floyd)
Stockbroker Grapevine大意:有N个股票经济人可以互相传递消息,他们之间存在一些单向的通信路径。现在有一个消息要由某个人开始传递给其他所有人,问应该由哪一个人来传递,才能在最短时间内让所有人都接收到消息。若不存在这样一个人,则输出disjoint。思路:有向图(互相之间可能不等)中各顶点之间的最短路径问题。一个人收到消息后便开始向所有他能发送的人(原创 2014-01-19 10:51:12 · 696 阅读 · 0 评论 -
POJ 2240 Arbitrage(最短路 Floyd)
Arbitrage大意:给你m种货币,给你m种货币兑换规则,问通过这些规则最后能不能盈利。eg:1美元换0.5英镑,1英镑换10法郎,1法郎换0.21美元,这样1美元能换0.5*10.0.21=1.05美元,净赚0.05美元。思路:用Floyd找出每两种钱之间的最大兑换关系,遍历一遍,看有没有那种钱币最后能盈利,有就输出Yes,没有就是No。在处原创 2014-01-19 15:44:46 · 995 阅读 · 0 评论 -
POJ 2253 Frogger(最短路 Floyd)
Frogger大意:给出两个青蛙的坐标和其他n-2个石头的坐标,任一两个坐标点间都是双向连通的。现在要求求出所有通路的最大距离,并把这些最大距离作比较,把最小的一个最大距离作为青蛙的最小跳远距离。思路:先求出两两之间的最短距离,再求出每个点开始的最长路,在这些最长路中求出那个最小的。#include #include #include原创 2014-01-18 22:20:43 · 498 阅读 · 0 评论 -
POJ 3687 Labeling Balls(拓扑序列)
Labeling Balls大意:n个重量分别为1-n的小球,给定一些小球间的重量关系。 在符合重量关系的前提下,先输出编号小的球。思路:也是一道很简单的拓扑排序,不过要倒着来,注意一下要判重边。#include #include using namespace std;int Map[210][210], indegree[21原创 2014-01-27 11:35:57 · 1106 阅读 · 0 评论 -
POJ 1094 Sorting It All Out(拓扑序列)
Sorting It All Out大意:给你一些关系,输出拓扑序列,如果有环,讨论一下;如果有多种情况,讨论一下;如果那两种都不是,输出拓扑序列。思路:没什么好说的,就是一个求拓扑序列。#include #include #include #include #include #include #include #inclu原创 2014-01-26 21:18:22 · 893 阅读 · 0 评论 -
POJ 1789 Truck History (最小生成树 Prim)
Truck History 大意:用一个7位的string代表一个编号,两个编号之间的距离代表这两个编号之间不同字母的个数。一个编号只能由另一个编号变化的来,变化的字母的数量就是这两个编号之间相应的距离,现在要找出一个变化方案,使得总代价最小,也就是距离之和最小。 思路:将每个字符串当成一个节点,求出每个节点之间需要变化的次数为边的权值,用Prim建立最小原创 2014-01-23 14:45:05 · 782 阅读 · 0 评论 -
POJ 3206 Borg Maze (BFS+Prim)
Borg Maze大意:给你一个m*n的迷宫,可以上下左右的走,只能走空格或字母,求出将所有字母连通起来的最小耗费。思路:先用BFS求出S到所有A的距离,再用Prim求最小生成树,求出最小耗费。这个题坑的不在题,是数据太坑了,在空格处理上没弄好,贡献了好几个WA和CE,看Discuss才知道很坑,最后用G++过了的代码,C++还RE,实在不知道说什么好了原创 2014-01-24 13:16:46 · 880 阅读 · 0 评论 -
POJ 2485 Highways(最小生成树 Prim)
Highways大意:给你一个用邻接矩阵形式存储的有n个顶点的无向图,让你求它的最小生成树并求出在这个生成树里面最大的边的权值。思路:用Prim求,判断条件改一下就行。原创 2014-01-23 16:13:22 · 957 阅读 · 0 评论 -
POJ 1258 Agri-Net(最小生成树 Prim 模版题)
Agri-Net大意:新镇长竞选宣言就是将网络带到每一个农场,给出农场个数,两两之间建光缆的耗费,求所有都联通的最小耗费。思路:最小生成树,因为边比较稠密,用Prim做。PS;对于比较稠密的图,用Prim,对于比较稀疏的图,用 Kruskal。Kruskal是找边的过程,稀疏的话会比较快。#include #incl原创 2014-01-23 14:17:24 · 909 阅读 · 0 评论 -
HDU 1385 Minimum Transport Cost(Floyd 最短路 打印路径)
HDU 1385大意:有N个城市,然后直接给出这些城市之间的邻接矩阵,矩阵中-1代表那两个城市无道路相连,其他值代表路径长度。如果一辆汽车经过某个城市,必须要交一定的钱(可能是过路费)。现在要从a城到b城,花费为路径长度之和,再加上除起点与终点外所有城市的过路费之和。求最小花费,如果有多条路经符合,则输出字典序最小的路径。思路原创 2014-05-26 13:29:43 · 618 阅读 · 0 评论