
图算法
赵小雨呀
大开脑洞!
展开
-
二维数组和vector实现dijkstra
关于迪杰斯特拉算法:通俗的来讲就是每次从起点(确定、唯一)选一条到终点(此处终点是广义的终点不是题目所给出询问的终点)最短的路(dist[i])(dist[i]是一边使用 一边修改的注意!)将该终点作为行营,依次向外扩展,更新从起点到这点的最短路。(二维数组:对于行营接触不到的点本来是想更新的,但由于if判断语句不为真所以没更新成,定义域为全体的点;vector:由于vector形象的存放了与当前点原创 2017-07-27 11:01:53 · 1277 阅读 · 0 评论 -
Codeforces R374 Div2 - Problem C - Journey
题目:http://codeforces.com/contest/721/problem/C题目大意:给定n个点,m条边,时间t,求 从起点1 到终点n 在时间t内 最多走多少个点。#include<iostream>#include<string.h>#include<stack>using namespace std;#define MAXN 5010#define INF 1e9+2原创 2017-08-04 20:00:56 · 295 阅读 · 0 评论 -
畅通工程-并查集
畅通工程续描述 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?输入 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M;随后的M行对应M条道路,每行给出一原创 2017-07-27 17:07:24 · 332 阅读 · 0 评论 -
修路问题-最小生成树 Prim&Kruscal
描述 为了促进山区乡镇的发展,政府决定在山区修建道路。由于在山区修路的成本极高,因此修建道路总长越短越好,但是必须保证任意两个乡镇互相通达。输入 输入:输入有多组,每组的第一行是一个整数N(3<=N<=100),表示乡镇总数。接下来有N行输入,每行N个数,每i行的第j个数表示村庄i和j的距离(距离在[1,1000]区间内)。输出 对于每组数据,输出需要修建的最短道路长度。样例输入 3 0原创 2017-07-29 10:20:16 · 2054 阅读 · 0 评论