poj1236 强连通】的更多相关文章

Network of Schools Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 15211   Accepted: 6040 Description A number of schools are connected to a computer network. Agreements have been developed among those schools: each school maintains a li…
题意:有 n 个学校每个学校可以将自己的软件共享给其他一些学校,首先,询问至少将软件派发给多少学校能够使软件传播到所有学校,其次,询问添加多少学校共享关系可以使所有学校的软件能够相互传达. 首先,第一个问题首先就做强连通缩点,对于缩点后的图询问有多少点的入度为 0,因为入度为 0 的分量必然不能通过其他点传达到.第二个问题则是询问入度为 0 和出度为 0 的点个数的最大值. #include<stdio.h> #include<string.h> #include<stack…
题意:给出每个学校的list 代表该学校能链接的其他学校,问1:至少给几个学校资源使所有学校都得到:2:至少加多少个边能让所有学校相互连通: 思路:1:找出缩点后入度为零的点个数  2:找出缩点后入度为零个数和出度为零个数之间的最大值. 这题主要是在思考出入度和连通间的关系,了解了这个关系后就很水了.同时要注意图一开始就连通的情况. 代码: #include <iostream> #include <cstring> #include <cstdio> #include…
题意:       一些学校有一个发送消息的体系,现在给你一些可以直接发送消息的一些关系(单向)然后有两个问题 (1) 问你至少向多少个学校发送消息可以让所有的学校都得到消息 (2) 问至少加多少条边可以让所有学校达到消息互通(变成强连通图) 思路:       比较简单了,我们先强连通所点,然后对于第一个问题,我们只要输出入度为0的个数,这个很好理解,对于第二个问题,我们可以输出max(入度为0的个数,出度为0的个数),这样做是因为我们可以吧度数大的先用小的补充上,剩下的就随意补充就行了,还有…
Network of Schools Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 27121   Accepted: 10704 Description A number of schools are connected to a computer network. Agreements have been developed among those schools: each school maintains a l…
题目链接:http://poj.org/problem?id=1236 这题本来是个强连通分量板子题的,然而弱很久不写tarjan所以生疏了一下,又看这数据范围觉得缩点这个事情可以用点到点之间的距离来判断不知道群巨兹磁不兹磁……下面弱就给大家搞一发如何用floyd和并查集来缩点……大致的思路就是先floyd跑出所有距离,然后O(n^2)找两两都可达的点,把它们的关系用并查集来维护.接下来O(n)找并查集里的代表元素.这个时候应当特判一下连通块为1的时候.再O(n^2)找出所有单向边,然后更新所有…
转载请注明出处,谢谢:http://www.cnblogs.com/KirisameMarisa/p/4316263.html  ---by 墨染之樱花 [题目链接]http://poj.org/problem?id=1236 [题目描述]给一张有向图,表示学校通信网络,边<u,v>代表信息可以由u传递到v.现要完成两个任务:1.求最少把几个点作为信息传递的起点就能让信息转达到所有节点 2.最少在添加几条边就能使任意两点间可达(构造强连通分量) [思路]先利用tarjan缩点使整个图化为DAG…
传送门:Network of Schools 题意:一些学校联接在一个计算机网络上,学校之间存在软件支援协议,每个学校都有它应支援的学校名单(A学校支援学校B,并不表示B学校一定支援学校A).当某校获得一个新软件时,无论是直接获得还是通过网络获得,该校都应立即将这个软件通过网络传送给它应支援的学校.因此,一个新软件若想让所有联接在网络上的学校都能使用,只需将其提供给一些学校即可.第一问:至少需要多少份软件,才能使得所有学校都能拥有软件:第二问:如果只用一份软件,那么需要添加多少条变,使得所有学校…
题意:给你n个点,每个点可能有指向其他点的单向边,代表这个点可以把软件传给他指向的点,然后解决两个问题, 1.问你最少需要给几个点,才能使所有点都能拿到软件: 2.问你还需要增加几条单向边,才能使任意两点可达: 解题思路: 如果一个点没有被其他点指向,也就是入度为0,那么这个点在一开始肯定要给,因为有环的话,环内的点一定可达,所以先缩点,问题1的答案就是入度为0的强连通分量的个数: 问题2的答案就是所有强连通分量的max(入度为0,出度为0): #include<iostream> #incl…
Network of Schools Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19326   Accepted: 7598 Description A number of schools are connected to a computer network. Agreements have been developed among those schools: each school maintains a li…