AOJ 0189 Convenient Location (Floyd)】的更多相关文章

题意: 求某一个办公室 到其他所有办公室的 总距离最短  办公室数 不超过10 输入:多组输入,每组第一行为n (1 ≤ n ≤ 45),接下来n行是 (x, y, d),x到y的距离是d输出:办公室号 和 最短距离 #include <iostream> #include <stdio.h> #include <algorithm> #include <cstring> #include <string> using namespace std…
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=78207 看懂题就好. 求某一办公室到其他办公室的最短距离. 多组输入,n表示n条关系,下面n次每次输入 x y d表示x到y的距离是d. 输出办公室的编号和距离. 因为 顶点数小于10,直接floyed求出所有距离之后,枚举出最短距离即可. /* *********************************************** Author : zch Cre…
MT8121/8382平台: 前几天又遇到一个源码的bug.在10寸平板上,进入设置界面,点击Location(位置)项,右上角Title处会显示一个开关button,用来开关定位服务.但点完Location项再点其他项的时候,button并不会消失.直到你点到Developer(开发者选项),再点击其他项那个button才会消失.Developer项本身右上角也有一个开关button. 于是很自然地想到,在切换设置项时,Location页面在退出时没有把button去掉. 结果一看果然是. -…
Convenient Location 直接翻译了 Descriptions 明年毕业的A为就业而搬家.就职的公司在若干城市都有办公室,不同天出勤的办公室也不同.所以A在考虑住在哪去各个办公室的时长最短. 你为了帮助A,决定去找最方便的居住城市. 城市从0号开始编号,城市之间有道路.不同的道路对应着不同的通勤时间.A 从所住的城市到该城市的办公室的通勤时间认为是 0.此时考虑到所有城市的通勤时间.例如,城市和道路的设置如图所示,A 住在城市 1 的情形下,到不同城市的通勤时间是 到城市 0:80…
Floyd–Warshall(简称Floyd算法)是一种著名的解决任意两点间的最短路径(All Paris Shortest Paths,APSP)的算法.从表面上粗看,Floyd算法是一个非常简单的三重循环,而且纯粹的Floyd算法的循环体内的语句也十分简洁.我认为,正是由于“Floyd算法是一种动态规划(Dynamic Programming)算法”的本质,才导致了Floyd算法如此精妙.因此,这里我将从Floyd算法的状态定义.动态转移方程以及滚动数组等重要方面,来简单剖析一下图论中这一重…
题意:如果两头牛在同一部电影中出现过,那么这两头牛的度就为1, 如果这两头牛a,b没有在同一部电影中出现过,但a,b分别与c在同一部电影中出现过,那么a,b的度为2.以此类推,a与b之间有n头媒介牛,那么a,b的度为n+1. 给出m部电影,每一部给出牛的个数,和牛的编号.问那一头到其他每头牛的度数平均值最小,输出最小平均值乘100 思路:到所有牛的度数的平均值最小,也就是到所有牛的度数总和最小.那么就是找这头牛到其他每头牛的最小度,也就是最短路径,相加再除以(n-1)就是最小平均值.对于如何确定…
Description 题意:给定一个有向图,一共有N个点,给邻接矩阵.依次去掉N个节点,每一次去掉一个节点的同时,将其直接与当前节点相连的边和当前节点连出的边都需要去除,输出N个数,表示去掉当前节点之前的所有两点间最短距离和.n<=500 Solution 如果暴力打肯定是会超时的,那就要运用到floyd(hj) floyd算法内2个循环就相当于新加入外循环的那个点然后跟新最短路, 所以可以把题目看成倒过来依次加点,每次\(n^2\)平方更新一下,总共\(O(n^3)\) Code #incl…
http://poj.org/problem?id=1125 题意: 首先,题目可能有多组测试数据,每个测试数据的第一行为经纪人数量N(当N=0时, 输入数据结束),然后接下来N行描述第i(1<=i<=N)个经纪人与其他经纪人的关系 (教你如何画图).每行开头数字M为该行对应的经纪人有多少个经纪人朋友(该节点 的出度,可以为0),然后紧接着M对整数,每对整数表示成a,b,则表明该经纪人向第a 个经纪人传递信息需要b单位时间(即第i号结点到第a号结点的孤长为b),整张图为 有向图,即弧Vij 可…
是真懂还是假懂? Floyed算法:是最短路径算法可以说是最慢的一个. 原理:O(n^3)的for循环,对每一个中间节点k做松弛(寻找更短路径): 但它适合算多源最短路径,即任意两点间的距离. 但spfa,迪杰斯特拉就只能算一个点到其他任一点的最短路径.   关键在于,我们真的真正理解floyed吗?   就是因为它太短了,以至于我们有些人(神仙除外)看代码后看到这样一个语句:   d[i][j]=min(d[i][j],d[i][k]+d[k][j])   也就是说,对于每一个中转点k来说,进…
https://vjudge.net/problem/Aizu-0189 题意:求某一点到其他所有点的最短路径之和,输出该点与和. 注意Floyd可以求多源最短路径,而Dijkstra只能求单源. #include<cstdio> #include<cmath> #include<iostream> #include<algorithm> #include<cstring> #include<vector> #include<m…