LCA
时间次元
这个作者很懒,什么都没留下…
展开
-
HDU #2586. how far away
题意 求树上2点间距离 题解 LCA dis[u][v] = dis[root][u] + dis[root][v] - 2 * dis[root][lca] 调试记录 无 #include <cstdio> #include <algorithm> #include <cstring> const int maxn = 4 * 1e4 + 5; const i...原创 2018-11-12 16:19:36 · 111 阅读 · 0 评论 -
HDU #2376. Average distance
题意 问树上路径长度的期望值 题解 dfs求出每条边左右连接的点数,统计答案,最后*2/n/(n+1) 调试记录 无 #include <cstdio> #include <cstring> #define int long long const int maxn = 1e4 + 5; using namespace std; struct node{ int to, ...原创 2018-11-12 16:20:04 · 106 阅读 · 0 评论 -
洛谷 #1967. 货车运输
题意 在图上从x到y找一条简单路径,使得路径上最小值最大 暴力会T 题解 因为需要的是较大的那些边,故可以求最大生成树,然后LCA 调试记录 数组开小了 #include <cstdio> #include <algorithm> #include <cstring> #define INF 0x3f3f3f3f #define maxn 50005 usin...原创 2018-11-25 20:12:44 · 134 阅读 · 0 评论 -
洛谷 #3379. 【模板】LCA
倍增 用\(f[cur][i]\)表示\(cur\)的第\(\ 2^i\)个祖先 \(f[cur][i] = f[f[cur][i-1]][i-1]\) 因为\(\ 2{i-1}+2{i-1}=2^i\) 调试记录 \(f[cur][0] = fa\) #include &lt;cstdio&gt; #include &lt;algorithm&gt; #define maxn 500005 #d...原创 2018-12-05 15:25:22 · 439 阅读 · 0 评论