普通的Floyd了分分秒可以水过,结果在submit前删调试段落的时候把程序本体给删了吃了两个WA…… #include<iostream> #include<cstring> #include<cstdio> ; using namespace std; ; int len[MAXN][MAXN]; int f[MAXN][MAXN]; int n,m; int main() { scanf("%d%d",&n,&m); ;i<…
水题,随手敲过 一看就是最短路问题,a,b演同一场电影则他们的距离为1 默认全部两两原始距离无穷,到自身为0 输入全部数据处理后floyd 然后照它说的求平均分离度 再找最小的,×100取整输出 #include <cstdio> #include <algorithm> #include <iostream> using namespace std; int cownum,filmnum; int film[11111][333]; int g[333][333];…
思路: floyd 实现: #include <iostream> #include <cstdio> #include <cstring> #include <vector> #include <algorithm> using namespace std; ][], n, m, k; const int INF = 0x3f3f3f3f; int main() { memset(a, 0x3f, sizeof(a)); cin >>…
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…
Six Degrees of Cowvin Bacon Descriptions 数学课上,WNJXYK忽然发现人缘也是可以被量化的,我们用一个人到其他所有人的平均距离来量化计算. 在这里定义人与人的距离:1.自己与自己的距离为02.如果A和B属于同一个小团体,那么他们之间的距离为13.如果A与B属于一个小团体,B与C属于一个小团体,且A与C不同属于任何一个小团体,那么A与C的距离为2(A联系C,经过B.C两个人)4.以此类推 班里有N个人 (2 <= N <= 300),共有M对小团体关系(…
Six Degrees of Cowvin Bacon Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 131072/65536K (Java/Other) Total Submission(s) : 2   Accepted Submission(s) : 1 Problem Description The cows have been making movies lately, so they are ready to play…
传送门:http://poj.org/problem?id=2139 Six Degrees of Cowvin Bacon Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6709 Accepted: 3122 Description The cows have been making movies lately, so they are ready to play a variant of the famous game…
题目链接 BZOJ1599 题解 最小环模板?周末了养生一下[逃] 解释一下原理 \(floyd\)算法每一轮求出以\([1,k]\)为中介点的最短路 我们对于一个环,考虑环上编号最大的点,在\(k\)枚举到那个点时,\(k\)两边的点之间不经过\(k\)的最短路已经计算出来,相连接便是一个环 容易发现最小的环一定会被计算 #include<algorithm> #include<iostream> #include<cstring> #include<cstdi…
[题目描述] 有n颗形状和大小都一致的珍珠,它们的重量都不相同.n为整数,所有的珍珠从1到n编号.你的任务是发现哪颗珍珠的重量刚好处于正中间,即在所有珍珠的重量中,该珍珠的重量列(n+1)/2位.下面给出将一对珍珠进行比较的办法: 给你一架天平用来比较珍珠的重量,我们可以比出两个珍珠哪个更重一些,在作出一系列的比较后,我们可以将某些肯定不具备中间重量的珍珠拿走. 例如,下列给出对5颗珍珠进行四次比较的情况: 1.珍珠2比珍珠1重 2.珍珠4比珍珠3重 3.珍珠5比珍珠1重 4.珍珠4比珍珠2重…
The cows have been making movies lately, so they are ready to play a variant of the famous game "Six Degrees of Kevin Bacon". The game works like this: each cow is considered to be zero degrees of separation (degrees) away from herself. If two d…
本题链接:http://poj.org/problem?id=2139 Description:     The cows have been making movies lately, so they are ready to play a variant of the famous game "Six Degrees of Kevin Bacon".      The game works like this: each cow is considered to be zero d…
[NOIP2012]文化之旅 题目描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一 种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不 同的国家可能有相同的文化.不同文化的国家对其他文化的看法不同,有些文化会排斥外来 文化(即如果他学习了某种文化,则他不能到达排斥这种文化的其他国家). 现给定各个国家间的地理关系,各个国家的文化,每种文化对其他文化的看法,以及这 位使者游历的起点和终点(在起点和终点也会学习当地的文化),国家间的道路…
题目链接: https://vjudge.net/problem/POJ-2139 题目大意: 给定一些牛的关系,他们之间的距离为1. 然后求当前这只牛到每只牛的最短路的和,除以 n - 1只牛的最大值.(这里直接取整就行啦) 思路: floyd来求最短路. 然后枚举求max就行了. #include<iostream> #include<vector> #include<queue> #include<algorithm> #include<cstr…
题意:给出n个人,m个关系,问是否满足任意两个人之间的距离通过6个人就可以连接 用floyd就可以了,注意距离是大于7 #include<iostream> #include<cstdio> #include<cstring> #include <cmath> #include<stack> #include<vector> #include<map> #include<set> #include<que…
题意:给出一个n个点的有向图,任意两个点之间都相互到达,求任意两点间最短距离的平均值 因为n很小,所以可以用floyd 建立出图,然后用floyd,统计d[][]不为0且不为INF的边的和及条数,就可以了 做的时候统计边的时候没有加不为0这个条件,改了好久= = #include<iostream> #include<cstdio> #include<cstring> #include <cmath> #include<stack> #inclu…
题意:给出n条路,起点和终点,问最短距离 用map处理一下地名,再用floyd 可是不懂的是:为什么INF定义成0x7fffffff就输出一堆奇怪的东西,改成100000000就可以了 #include<iostream> #include<cstdio> #include<cstring> #include <cmath> #include<stack> #include<vector> #include<map> #i…
题意:给出n个站点,每个站点都有铁路通向其他站点 如果当前要走得路恰好是该站点的开关指向的铁路,则不用扳开关,否则要手动扳动开关,给出起点和终点,问最少需要扳动多少次开关 输入的第一行是n,start,end 接下来的n行,每一行中,第一个数是该站点向外连接的铁路条数, 第二个数是该站点的开关指向的铁路(因为这儿没有读懂= =所以都建不出图来--5555参见这一句话:Switch in the i-th intersection is initially pointing in the dire…
之后的题解偏重有用/总结性质,尽量理解算法本身而不是题,时间复杂度什么的也能够放放. 非常久之前做过这个题,当时使用dijkstra做的,关于几个最短路算法,分类的话能够分为下面几种. 1.单源最短路:已知起点(终点),计算从源点到其它各个顶点的最短路径长度. 典型算法:Dijkstra,Bellman-Ford(能够算负的,比較慢),spfa(负权能用,加了松弛操作,速度比較炸天) 2.全局最短路:从一点到还有一点,典型如Floyd,A*启示式算法. 又一次用floyd写一遍: #includ…
#include <iostream> #include <map> #include <string> #include <memory.h> using namespace std; ; int n; //货币种类 int m; //兑换方式 mapSTL; //建立一个字符串与整数一一对应的容器STL,以便利用邻接矩阵存储数据 double rate; ],str1[],str2[]; ][]; int i,j,k; void floyd(void)…
Description   Solution n<=100自然联想Floyd 设两个数组d[n][n]存最短距离,t[n][n]存最短路径条数 更新d的时候顺便更新t,乘法原理 if(d[i][j]>d[i][k]+d[k][j]){ d[i][j]=d[i][k]+d[k][j]; t[i][j]=t[i][k]*t[k][j]; } else if(d[i][j]==d[i][k]+d[k][j]) t[i][j]+=t[i][k]*t[k][j]; 再统计答案 if(d[i][j]==d…
题意:如果两头牛在同一部电影中出现过,那么这两头牛的度就为1, 如果这两头牛a,b没有在同一部电影中出现过,但a,b分别与c在同一部电影中出现过,那么a,b的度为2.以此类推,a与b之间有n头媒介牛,那么a,b的度为n+1. 给出m部电影,每一部给出牛的个数,和牛的编号.问那一头到其他每头牛的度数平均值最小,输出最小平均值乘100 思路:到所有牛的度数的平均值最小,也就是到所有牛的度数总和最小.那么就是找这头牛到其他每头牛的最小度,也就是最短路径,相加再除以(n-1)就是最小平均值.对于如何确定…
<题目链接> 题目大意: 题目可能有多组测试数据,每个测试数据的第一行为经纪人数量N(当N=0时,输入数据结束),然后接下来N行描述第i(1<=i<=N)个经纪人与其他经纪人的关系(教你如何画图).每行开头数字M为该行对应的经纪人有多少个经纪人朋友(该节点的出度,可以为0),然后紧接着M对整数,每对整数表示成a,b,则表明该经纪人向第a个经纪人传递信息需要b单位时间,该图为有向图.构图完毕后,求当从该图中某点出发,将“消息”传播到整个经纪人网络的最小时间,输出这个经纪人号和最小时间…
Sorting It All Out Time Limit: 1000MS   Memory Limit: 10000K Total Submissions:39731   Accepted: 13975 Description An ascending sorted sequence of distinct values is one in which some form of a less-than operator is used to order the elements from sm…
[UVA10048]噪音恐惧症 题面略 试题分析:直接Floyd一下维护u到v的路径最大值最小就可以了,1A 代码: #include<iostream> #include<cstring> #include<cstdio> #include<queue> #include<stack> #include<vector> #include<algorithm> //#include<cmath> using n…
水题,裸的Floyd.最后要求遍历一遍图的最短路径,只需要枚举将当前每一个点作为起始点.如果它不能到达其中的某一点,则该点不可能作为起始点:否则,由该点开始遍历全图的最短路径是到所有点距离中的最大值.最终结果就是这些最大值中的最小值. #include<iostream> #include<cstdio> using namespace std; +; ; int map[MAXN][MAXN]; int main() { int n; while (scanf("%d&…
    bitset玄学完美优化复杂度? 题目描述 参加jsoi冬令营的同学最近发现,由于南航校内修路截断了原来通向计算中心的路,导致去的路程比原先增加了近一公里.而食堂门前施工虽然也截断了原来通向计算中心的路,却没有使路程增加,因为可以找到同样长度的路作替代.其实,问题的关键在于,路截断的地方是交通要点. 同样的情况也出现在城市间的交通中.某些城市如果出了问题,可能会引起其他很多城市的交通不便.另一些城市则影响不到别的城市的交通.jsoi冬令营的同学发现这是一个有趣的问题,于是决定研究这个问题…
Dilworth定理,将最长反链转化为最小链覆盖.//貌似还能把最长上升子序列转化为不上升子序列的个数? floyd传递闭包,将可以重叠的最小链覆盖转化成不可重叠的最小路径覆盖.(引用:这样其实就是相当于将原图改造了一下,只要 x 能到达 y ,就直接连一条边 (x, y),这样就可以“绕过”原图的一些被其他路径占用的点,直接构造新路径了.) 建立二分图,跑匈牙利.(见白书P357) #include<cstdio> #include<cstring> using namespac…
floyd模板 #include<cstdio> #include<algorithm> using namespace std; ][],m,x,y,n; int main() { scanf("%d",&n); ;i<=n;i++) ;j<=n;j++) scanf("%d",&a[i][j]); ;i<=n;i++) ;j<=n;j++) ;k<=n;k++) a[j][k]=min(a[j…
题目 在社交网络(socialnetwork)的研究中,我们常常使用图论概念去解释一些社会现象.不妨看这样的一个问题. 在一个社交圈子里有n个人,人与人之间有不同程度的关系.我们将这个关系网络对应到一个n个结点的无向图上, 两个不同的人若互相认识,则在他们对应的结点之间连接一条无向边,并附上一个正数权值c,c越小,表示两个人 之间的关系越密切.我们可以用对应结点之间的最短路长度来衡量两个人s和t之间的关系密切程度,注意到最短路 径上的其他结点为s和t的联系提供了某种便利,即这些结点对于s和t之间…
题目大意:求点1到所有点最短路径的最大值 思路:水题,单源最短路,网上解题清一色dijkstra,但是点数小于100显然floyd更简洁嘛 #include<cstdio> #include<string.h> #define maxn 101 #define inf 100000 using namespace std; int read(){ int f=1,x=0;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='x…