1、倍增算法 #include<bits/stdc++.h> #define MXN 50007 using namespace std; std::vector v[MXN];//图 std::vector w[MXN];//边权 int fa[MXN][31], cost[MXN][31], dep[MXN]; //fa记录父节点 f[i][j] i的第2^j个祖先 //cost记录其权值 //dep记录深度 int n, m; int a, b, c; void dfs(int root, int fno) {//root要搜索的节点 fno父节点 fa[root][0]...