李嘉强 Popular Cows.docVIP

  • 1
  • 0
  • 约2.5千字
  • 约 9页
  • 2017-09-05 发布于浙江
  • 举报
李嘉强 Popular Cows

解题报告 姓名:李嘉强???????? 学号:201024131219 日期:2011年8月22日 题目:Popular Cows 链接:0/ZQUOJ/problem/Problem.jsp?id=1484 或/problem?id=2186 题意:英文题,给出一个有向图,有n个结点和m条有向边(无权值),要求输出所有点都能到达该点的点的个数。 题目本质:求一个有向图的唯一的一个出度为0的极大强连通分量中点的个数(若出度为0的极大强连通分量不唯一,则显然没有所有点都能到达该点的点)。 问题的分析与解题思路: 例子如图: 显然,该有向图一共有3个极大强连通分量,分别是: (1、2、3、4)、(5)、(6),而(1、2、3、4)的出度是2, (5)的出度是1,(6)的出度是0;则(6)是有向图的唯一的一个出度为0的极大强连通分量,它含有的点数为1,所以该图中所有点都能到达该点的点的个数为1,即输出1。 思路:运用邻接表来分别存储该图的原图、反向图和缩图,利用 Kosaraju算法求出所有极大强连通分量的同时,建立缩图;最后通过缩图来找出唯一的一个出度为0的极大强连通分量,从而求出答案。 错误做法:对n个点分别进行DFS,同时记录点被到达的次数同样可以求解,但是时间复杂度达到O(n*(n+m)) AC代码: #includecstdio #includecstdlib const

文档评论(0)

1亿VIP精品文档

相关文档