图
文章平均质量分 61
qq2844
这个作者很懒,什么都没留下…
展开
-
1002 Problem B
题意:给定一些点的坐标,求将所有点连通的最小长度。思路:最小生成树的问题,因为给出的是点的坐标,所以要先处理一下,得到任意两点间的距离,将其存入邻接矩阵中,利用prim算法即可。感想:prim算法的使用,关键还是在于理解算法,以及判定的条件。#include#include#include#includeusing namespace std;int n;dou原创 2016-06-25 11:29:16 · 177 阅读 · 0 评论 -
1001 Problem A
题意:N个村庄,已知各个村庄连通的道路长度,求将所有村庄连通,公路的最小长度。思路:求将村庄连通的最小公路长度,把村庄看做图,即求最小生成树,利用prim算法,即可求得最小生成树。感想:最小生成树求解,问题可有多种求解方法,不过还是能够灵活、完全掌握一种比较好。#include#include#includeusing namespace std;const int N原创 2016-06-23 10:43:26 · 263 阅读 · 0 评论 -
1013 Problem M
题意:乘公交车的价格根据公交站距离有所不同,对于给定的起点和终点,求得最小的花费费用。思路:最短路径问题,使用dijkstra算法,根据题目适当变形即可。感想:在这里需要注意,题目中数据比较大,在定义最大值时,值必须要足够大才可以。#include #include using namespace std;const long long inf=0xffffffffffff原创 2016-07-06 22:53:45 · 281 阅读 · 0 评论 -
1010 Problem J
题意:从办公室1到家2之间,有多条路可以走,求最短路径的道路共有多少条。思路:先求出两点之间的最短路径,然后再利用搜索算法,搜索路径的条数。感想:最短路径求解与搜索的结合,搜索的关键还是在于递归。#include#include#includeconst intINF=10000000;intmap[1005][1005];intvis[1005],dis[1005原创 2016-07-06 21:11:24 · 265 阅读 · 0 评论 -
1005 Problem E
题意:某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。计算最小的公路总长度。思路:求连通所有村庄的最小公路总长度,即求最小生成树问题,利用prim算法,将村庄看做一个图,求最小生成树。题目中相比上一题,增加了一个状态,对于已经修好原创 2016-06-21 09:57:44 · 236 阅读 · 0 评论 -
1003 Problem C
题意:某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?思路:已知相连通的公路,要求还需要建设多少公路,可以使用并查集来做,将连通的两个公路,归入一个并查集中,通过判断根结点的个数,就可求出在需要建设的公路。感想:原创 2016-06-21 09:48:25 · 276 阅读 · 0 评论 -
1016 Problem P
题意:XX星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每一条路有一个安全系数s,s是在 0 和 1 间的实数(包括0,1),一条从u 到 v 的通道P 的安全度为Safe(P) = s(e1)*s(e2)…*s(ek) e1,e2,ek是P 上的边 ,现在8600 想出去旅游,面对这这么多的路,他想找一条最安全的路。思路:寻找最为安全的道路,即安全系数乘积原创 2016-07-06 21:01:52 · 268 阅读 · 0 评论 -
1004 Problem D
1004 Problem D题意:某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。计算最小的公路总长度。思路:求连通所有村庄的最小公路总长度,即求最小生成树问题,利用prim算法,将村庄看做一个图,求最小生成树。感想:pr原创 2016-06-18 23:26:03 · 225 阅读 · 0 评论 -
1006 Problem F
题意:对于一些地点,它们都有路相连,这些路每年都需要维修,并且成本不同,问最小的维修费是多少。先输入一个n,再输入n-1行,每行都是先输入一个字母和一个数字a,再输入a组的一个字母和一个数字(该数字是维修费)。思路:求道路最小维修费用,即最小生成树问题,使用kruskal算法,将道路维修费用排序,然后利用并查集,得到最小生成树。感想:题目给出的地点是字母,将其转化为数字,然后按照krusk原创 2016-07-03 19:22:17 · 281 阅读 · 0 评论 -
1008 Problem H
题意:在图论中,找到一个这样的图,在这个图中,最多有一个环,使得所有的边的和最大。思路:利用并查集,先对边进行排序,接着对于边ab判断,如果a,b是属于两个不同的集合,ab是两个环中的点,则放弃ab。如果ab 有一个是环,则把环当做另一个的祖先,之后在回溯祖先的时候,能找到该点是在某个环中。感想:并查集在集合元素的合并中,利用此算法会简单许多,不过还是要多做题,通过题目来将其熟练掌握。原创 2016-06-29 23:40:10 · 244 阅读 · 0 评论 -
1011 Problem K
题意:输入数据有多组,每组的第一行是三个整数T,S和D,表示有T条路,和草儿家相邻的城市的有S个,草儿想去的地方有D个;接着有T行,每行有三个整数a,b,time,表示a,b城市之间的车程是time小时;(1=思路:最短路径,即从草儿所在地,相邻的城市到其想要去的城市的最短时间,利用dijkstra算法,需要注意的是该题有多个起始点,多个终点,且每2点间路不唯一。感想:注意数组的初始化,以原创 2016-06-29 23:22:44 · 333 阅读 · 0 评论 -
1009 Problem I
题意:在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?思路:最短路径问题,利用dijkstra算法,寻找到从1到N的最短路径。感想:数组的初始化,以及对于下一个值的判断都十分重要,找不到循环判断条件,问题会很麻烦。#includ原创 2016-06-23 17:38:14 · 589 阅读 · 0 评论