传递 HDU - 5961 题解】的更多相关文章

题目传送门 分析 题目大意:给一个竞赛图,将图分成两部分,判断两部分的图是否符合传递闭包,a->b,b->c,则a->c 这道题用Floyd硬跑的显然n\({^3}\)会T 如果用bfs可能能过,不过有些麻烦,而且时限也不少 其实传递闭包的话用bitset就可以了 时间效率为n\({^2}\),一共有20组数据,所以实际还要大一些 但是bitset的常数非常小,大概只有\(\frac{1}{32}\),所以过这一道题还是没有问题的 代码 #include<bits/stdc++.h…
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5961 题目为中文,这里就不描述题意了. 思路: 从题目陈述来看,他将一个有向图用一个邻接矩阵来表示,并且分为两个图P.Q,但是它们是有内在联系的,即:P+Q,抛去方向即为完全图. 题目都是中文,这里就不翻译了.我们可以从题目中知道,如果P.Q均满足传递性,那么P与(Q的反向图)生成的有向图应该无环. 所以,简单一个拓扑排序检查是否有环即可,P.Q合为一张图,跑一遍,这个还是很快的. 时长:3432MS…
Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1426    Accepted Submission(s): 646Problem Description 我们称一个有向图G是传递的,当且仅当对任意三个不同的顶点a,,若G中有 一条边从a到b且有一条边从b到c ,则G中同样有一条边从a到c.我们称图G是一个竞赛图,当且仅当它是一个有向…
题目 我们称一个有向图G是 传递的,当且仅当对任意三个不同的顶点a,,若G中有 一条边从a到b且有一条边从b到c ,则G中同样有一条边从a到c. 我们称图G是一个 竞赛图,当且仅当它是一个有向图且它的基图是完全图.换句 话说,将完全图每条边定向将得到一个竞赛图. 下图展示的是一个有4个顶点的竞赛图. 现在,给你两个有向图\(P=(V,E_p)\)和\(Q = (V,E_e)\),满足: \(E_P\)与E_$e没有公共边: \((V,E_p \cup E+e)\)是一个竞赛图. 你的任务是:判定…
传递 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5961 Description 我们称一个有向图G是传递的,当且仅当对任意三个不同的顶点a,,若G中有 一条边从a到b且有一条边从b到c ,则G中同样有一条边从a到c. 我们称图G是一个竞赛图,当且仅当它是一个有向图且它的基图是完全图.换句 话说,将完全图每条边定向将得到一个竞赛图. 下图展示的是一个有4个顶点的竞赛图. 现在,给你两个有向图P = (V,Ep)和Q = (V,Ee),满足:…
http://acm.hdu.edu.cn/showproblem.php?pid=5961 题意:中文题意.给出两个图,判断这个两个图是否都是传递的.注意一下传递的定义要看清,一开始没看清连样例都看不懂. 思路:点数很少,有了异或那题的暴力之后,这题继续试着爆搜了一下,也能过.主要存两个图,然后dfs的时候传入当前点的上一个点fa,如果 fa 和 下一个点 v 之间没有边相连,那么就不满足条件了. #include <cstdio> #include <cstring> #inc…
传递 Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)     Problem Description 我们称一个有向图G是传递的,当且仅当对任意三个不同的顶点a,,若G中有 一条边从a到b且有一条边从b到c ,则G中同样有一条边从a到c.我们称图G是一个竞赛图,当且仅当它是一个有向图且它的基图是完全图.换句 话说,将完全图每条边定向将得到一个竞赛图.下图展示的是一个有4个顶点…
http://acm.hdu.edu.cn/showproblem.php?pid=5961 题意: 思路: 话不多说,直接暴力. #include<iostream> #include<algorithm> #include<cstring> #include<cstdio> #include<vector> #include<stack> #include<queue> #include<cmath> #i…
题意:给你一个有向图,满足去掉方向是完全图,将其拆成PQ两个图(没有公共边),问你两图是否分别满足对于任意3个点a,b,c 若有一条边从a到b且有一条边从b到c ,则同样有一条边从a到c. 题解:观察,发现题目等价于对PQ分别bfs.如果某点的深度大于等于2就判错.用vis储存深度,注意对vis数组的操作:每推入一个起点时,vis[起点]=1,(pop时不--,最后统一memset0)每推入一个未访问的相邻点v时vis[v]=vis[now]+1; 坑:1.cin>>n写错地方,结果写了两个…
题意:中文题,就是判断一个竞赛图拆成两个图,判断是否都传递 思路:分别BFS判深度即可,用这种方法注意要进行读入优化. /** @Date : 2016-11-18-20.00 * @Author : Lweleth (SoungEarlf@gmail.com) * @Link : https://github.com/ * @Version : */ #include <stdio.h> #include <iostream> #include <string.h>…