随笔分类 - 图论--LCA
摘要:1471先学习了下tarjan算法的LCA 离线算法 它是先知道询问的结点对 在遍历的时候就已经算出来了看篇图解 讲的很清楚 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 #define N 100010 8 struct node 9 {10 int u,v,w,next;11 }ed[N<<2];12 int head[N],t,n,q,dis[N];13 int vis[N],ans[N],qhead[N<<2];14 int father[N],x[
阅读全文
摘要:http://poj.org/problem?id=3694用tarjan算出桥,用lca算出公共祖先 把路上的边更新掉 原来的桥变为不是桥 看一解题报告感觉有一部分是不用加的 不知道是不是数据水 没加交上也A了。。 1 #include 2 #include 3 #include 4 #...
阅读全文
摘要:http://poj.org/problem?id=1330这题只有一个询问,将一个节点的向上的标记下,再从另一个节点走一遍,遇到第一个被标记的就是 整个算法的最坏时间复杂度是O(Q*n),Q是询问的次数。View Code 1 #include <iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 int father[10010],f[10010]; 6 int main() 7 { 8 int g,i,j,k,n,a,b,t,c,d; 9 cin>&g
阅读全文