POJ2570 Fiber Network(Floyd)】的更多相关文章

d[i][j]表示从i点到j点可以全程提供光纤的公司的集合,集合用26位的二进制压缩. 那么状态转移方程就是dk[i][j]|=dk-1[i][k]&dk-1[k][j]. #include<cstdio> #include<cstring> using namespace std; ][]; void Floyd(){ ; k<=n; ++k){ ; i<=n; ++i){ ; j<=n; ++j){ d[i][j]|=d[i][k]&d[k][…
ZOJ - 1586 QS Network (Prim) #include<iostream> #include<cstring> using namespace std; +; ;//无穷远 int n; int cost[maxn]; int Edge[maxn][maxn]; int lowcost[maxn]; void Init() { cin>>n; ;i<n;i++) {//读入每个结点的适配器价值 cin>>cost[i]; } ;i&…
题目翻译 一些公司决定搭建一个更快的网络.称为"光纤网". 他们已经在全世界建立了很多网站.这 些网站的作用类似于路由器.不幸的是,这些公司在关于网站之间的接线问题上存在争论,这样"光纤网"项目就被迫终止了,留下的是每一个公司自己在某些网站之间铺设的线路. 如今,Internet 服务供应商.当想从网站 A传送数据到网站 B,就感到困惑了.究竟哪个公司 可以提供必要的连接. 请帮助供应商回答他们的查询.查询全部可以提供从网站 A到站定 B的线 路连接的公司. 输入描…
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 A Telephone Line Company (TLC) is establishing a new telephone cable network. They are connecting several places numbered by integers from 1 to N . No two places have the same number. The lines are bidirectional and always connect togethe…
Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 25165   Accepted: 7751 Description The Department of National Defence (DND) wishes to connect several northern outposts by a wireless network. Two different communication technologies are t…
Description A Telephone Line Company (TLC) is establishing a new telephone cable network. They are connecting several places numbered by integers from 1 to N . No two places have the same number. The lines are bidirectional and always connect togethe…
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 可…