《关键边(Key Edge)》解题报告.docVIP

  • 6
  • 0
  • 约3.89千字
  • 约 6页
  • 2017-08-13 发布于安徽
  • 举报
《关键边(Key Edge)》解题报告 安徽 周源 摘要 算法 动态维护树+最近公共祖先查询 时间复杂度 O(NlogN + M + QlogN) 空间复杂度 O(N + M) 问题描述 写一个程序,读入一个无向的连通图的信息,图中两点间可以有多条边,可以有边的两个端点相同。程序需要处理以下两种命令: 删除图中一条边(保证边存在,删除后仍保证图是连通的) 询问图中两个点a和b之间的关键边有多少个(所谓关键边,即若删除了这条边,a和b就无法互相到达) 输入格式: 输入文件第一行有三个整数N, M和Q,分别表示图中顶点个数,边的个数和需要执行的命令个数,图中节点的编号为1…N 接下来M行,每行两个整数描述图中的一条边 接下来Q行,每行描述一条命令: 1 a b:表示删除图中的边(a, b) 2 a b:表示询问图中a到b路径上关键边的数目 输出格式: 对于每一次询问,你的程序都需要向输出文件输出一行:a和b间关键边的数目 数据规模: 1 ≤ N ≤ 3 * 104 1 ≤ M ≤ 105 1 ≤ Q ≤ 105 分析 这是我为今年安徽省省赛出的一道备选试题,;因此在2005年5月26日前保密(。 初步分析 本题的输入涉及到两类操作,一是删除某条边,一是询问关键边数目。 我们先来看一个简单一些的问题:如果没有删边操作,而只是给出一幅图,不停地询问某两点间关键边的数目,该如何设计高效

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档