[luoguP2912] [USACO08OCT]牧场散步Pasture Walking(lca)
传送门
水题。
直接倍增求lca。
x到y的距离为dis[x] + dis[y] 2 * dis[lca(x, y)]
——代码
1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #define MAXN 20002 5 6 using namespace std; 7 8 int n, q, cnt; 9 int head[MAXN], to[MAXN], next[MAXN], val[MAXN], deep[MAXN], f[MAXN][21], dis[MAXN]; 10 11 inline void add(int x, int y, int z) 12 18 19 inline void dfs(int u) 20 33 } 34 } 35 36 inline int lca(int x, int y) 37 49 50 int main() 51 61 deep[1] = 1; 62 dfs(1); for(i = 1; i <= q; i++) 64 68 return 0; 69 }View Code
下一篇:[bzoj1787][Ahoi2008]Meet 紧急集合(lca)
lca 倍增
pla文件怎么看,pla文件用什么打开?
pl1文件怎么看,pl1文件用什么打开?
pl文件怎么看,pl文件用什么打开?
pl0文件怎么看,pl0文件用什么打开?
pkt文件怎么看,pkt文件用什么打开?
pkm文件怎么看,pkm文件用什么打开?
pks文件怎么看,pks文件用什么打开?
pka文件怎么看,pka文件用什么打开?
pkh文件怎么看,pkh文件用什么打开?
pkg文件怎么看,pkg文件用什么打开?