Stockbroker Grapevine(floyd)】的更多相关文章

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 可…
https://vjudge.net/problem/POJ-1125 题意: 题意不是很好理解,首先输入一个n,表示有n个股票经纪人,接下来输入n行,每行第一个数m为该股票经纪人认识的经纪人数,然后输入m对数(a,t),表示第i个经纪人把消息传给第a个经纪人所需要的时间. 计算将消息传遍所有人所需要的最少时间. 思路: 起点任意,用floyd比较好.因为floyd求出的是每两点之间的最短路,所以最后计算最小时间时,需要先取最大值,比如说1号经纪人为起点,因为谁都可能为终点,所以枚举所有人,将最…
http://poj.org/problem?id=1125 题意 : 就是说想要在股票经纪人中传播谣言,先告诉一个人,然后让他传播给其他所有的经纪人,需要输出的是从谁开始传播需要的时间最短,输出这个人的编号和传播需要的最短的时间: 思路 : 典型的最短路问题,就是求最短传播时间,用floyd求出两两最短路.一般来说,因为告诉一个经纪人之后,他可以同时给其他他可以传播的所有人进行传播,所以,只要找到他需要传播的许多人中,找那个传播时间最长的,就能保证他可以给所有他能传播的人都传播到这个谣言,而其…
  poj——1125 Stockbroker Grapevine Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 36112   Accepted: 20033 Description Stockbrokers are known to overreact to rumours. You have been contracted to develop a method of spreading disinformatio…
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)就是最小平均值.对于如何确定…
链接: http://poj.org/problem?id=1125 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#problem/E Stockbroker Grapevine Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 23440   Accepted: 12854 Description Stockbrokers are known to…
Description 题意:给定一个有向图,一共有N个点,给邻接矩阵.依次去掉N个节点,每一次去掉一个节点的同时,将其直接与当前节点相连的边和当前节点连出的边都需要去除,输出N个数,表示去掉当前节点之前的所有两点间最短距离和.n<=500 Solution 如果暴力打肯定是会超时的,那就要运用到floyd(hj) floyd算法内2个循环就相当于新加入外循环的那个点然后跟新最短路, 所以可以把题目看成倒过来依次加点,每次\(n^2\)平方更新一下,总共\(O(n^3)\) Code #incl…
是真懂还是假懂? Floyed算法:是最短路径算法可以说是最慢的一个. 原理:O(n^3)的for循环,对每一个中间节点k做松弛(寻找更短路径): 但它适合算多源最短路径,即任意两点间的距离. 但spfa,迪杰斯特拉就只能算一个点到其他任一点的最短路径.   关键在于,我们真的真正理解floyed吗?   就是因为它太短了,以至于我们有些人(神仙除外)看代码后看到这样一个语句:   d[i][j]=min(d[i][j],d[i][k]+d[k][j])   也就是说,对于每一个中转点k来说,进…
题目:http://poj.org/problem?id=1125 题意:给出一个社交网络,每个人有几个别人可以传播谣言,传播谣言需要时间.问要使得谣言传播的最快,应该从那个人开始传播谣言以及使得所有人都知道这个谣言需要多少时间,. 时间的定义是使得最后一个人知道这个谣言的时间.多元最短路 #include <iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<…