摘要: 周赛第二次的题目。传说中的最近公共祖先问题(LCA),用Tarjan算法可以过,但注意结果超int. 从题意可以看出这些colony之间构成了一棵树的关系,用Tarjan算法找出每对查询的顶点u,v的公共祖先ancestor,则u,v之间的距离就是dist[u]+dist[v]-2*dist[ancestor],关系显而易见,会者不难。View Code #include <iostream>#include <stdio.h>#include <vector>using namespace std;const int MAX = 100001;struct 阅读全文
posted @ 2011-04-20 00:23 c++fans 阅读(331) 评论(0) 推荐(0) 编辑