HDU Traffic Real Time Query System
摘要:题目大意是:对于(n, m)的图,给定边a, b查询从a到b要经过的割点的最少数目。先tarjan算法求双连通然后缩点,即对于每个割点将周围的每个双连通看成一个点与之相连。然后求解LCA即可,距离dis[u]表示从根出发到u的遍历过程中经过的割顶的数目,利用tarjan离线算法, 最后答案是:dis[u] + dis[v] - 2*dis[findset(v)] + (findset(v) > bcc_cnt)。注意findset(v) > bcc_cnt表示当LCA(u,v) 为割顶时的判断,此时必须加1。代码: 1 #include 2 #include 3 #include
阅读全文
posted @ 2013-10-12 23:13
浙公网安备 33010602011771号