LCA模板
来源:互联网 发布:手机阅读软件排行 编辑:程序博客网 时间:2024/06/16 01:57
#include<bits/stdc++.h>using namespace std;vector<int>g[M];//图的邻接表表示int root;int parent[20][M];int dep[M];int n, q;void dfs(int v, int p, int d){ parent[0][v] = p; dep[v] = d; for(int i=0; i<g[v].size(); ++i) { if(g[v][i]!=p) dfs(g[v][i], v, d+1); }}void init(){ for(int k = 0; k < 20-1; ++ k) { for(int v = 1; v <= n; ++ v) { if(parent[k][v] < 0) parent[k+1][v] = -1; else { parent[k+1][v] = parent[k][parent[k][v]]; } } }}int getlca(int u, int v){ if(dep[u] > dep[v]) swap(u, v); int ans = 0; for(int k = 0; k < 20; ++ k) { if((dep[v] - dep[u]) >> k & 1) { v = parent[k][v]; } } if(u != v) { for(int k = 20 - 1; k >= 0; -- k) { if(parent[k][u] != parent[k][v]) { u = parent[k][u], v = parent[k][v]; } } u = parent[0][u]; return u; } return u;}int main(){ dfs(1, -1, 1); init(); return 0;}
阅读全文
0 0
- LCA模板
- LCA模板
- LCA模板
- LCA 模板
- LCA模板
- LCA模板
- LCA模板
- 【模板】LCA
- LCA模板
- 模板--------LCA
- 【模板】LCA
- lca模板
- LCA 模板
- LCA模板
- LCA 模板
- LCA模板
- 【LCA模板】
- LCA模板
- hdu5688
- 秒杀99%的海量数据处理面试题(二)
- WEB跑P程序不弹出打印机配置界面的方式(跳过打印机配置这一步)
- SDUT2798——小鑫的城堡(并查集)
- 【Mybatis】——JDBC
- LCA模板
- 卷积神经网络(CNN)
- AlertDialog点击按钮后不消失
- git的常用命令--入门
- java初学者应该知道的几个问题
- 给计算机专业大一新生的一些学习规划建议
- hdu2111 Saving HDU
- HDU-找新朋友
- 机器学习笔记(1)——决策树