博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 2586.How far away ?-离线LCA(Tarjan)
阅读量:5204 次
发布时间:2019-06-13

本文共 1326 字,大约阅读时间需要 4 分钟。

 

2586.

 

这个题以前写过在线LCA(ST)的,

现在贴一个离线Tarjan版的

 

代码:

1 //A-HDU2586-LCA-tarjan离线版  2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 #include
13 #include
14 #include
15 #include
16 #include
17 #include
18 #include
19 #include
20 using namespace std; 21 typedef long long ll; 22 23 const double PI=acos(-1.0); 24 const double eps=1e-6; 25 const ll mod=1e9+7; 26 const int inf=0x3f3f3f3f; 27 const int maxn=4e4+10; 28 const int maxm=100+10; 29 #define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); 30 31 struct node{ 32 int x,y; 33 //node(int xx,int yy){ 34 // x=xx,y=yy; 35 //}node(){} 36 }; 37 38 vector
edge[maxn],q[maxn]; 39 int ans[maxn],dis[maxn],fa[maxn],vis[maxn]; 40 int n,m,aa,bb,cc; 41 42 int find(int x)//找父节点(祖先) 43 { 44 return x==fa[x]?x:fa[x]=find(fa[x]); 45 } 46 47 void unio(int x,int y)//并查集压缩路径 48 { 49 fa[find(y)]=find(x); 50 } 51 52 void init()//初始化 53 { 54 for(int i=1;i<=n;i++){ 55 edge[i].clear(); 56 q[i].clear(); 57 fa[i]=i;//初始化自己的父亲节点是自己 58 vis[i]=0; 59 ans[i]=0; 60 dis[i]=0; 61 } 62 } 63 64 void dfs(int x)//tarjan 65 { 66 vis[x]=1; 67 for(int i=0;i

 

 

 

 

溜了。

 

转载于:https://www.cnblogs.com/ZERO-/p/9525826.html

你可能感兴趣的文章
魔术师发牌问题(循环链表的应用)【代码】
查看>>
mfc Edit控件属性
查看>>
你写程序再牛,也未必懂我写的文章!
查看>>
10.10 review
查看>>
Nodejs-非阻塞I/O&事件驱动
查看>>
ThreadPoolExecutor分析
查看>>
八张图读懂未来“互联网+”的六大趋势
查看>>
Linq使用Join/在Razor中两次反射取属性值
查看>>
[Linux]PHP-FPM与NGINX的两种通讯方式
查看>>
Java实现二分查找
查看>>
优秀员工一定要升职吗
查看>>
[LintCode] 462 Total Occurrence of Target
查看>>
K8s helm 创建自定义Chart
查看>>
a标签按钮样式
查看>>
JavaWeb--HttpServlet
查看>>
JavaEE——SpringMVC(2)--处理模型数据
查看>>
了解大数据
查看>>
springboot---redis缓存的使用
查看>>
架构图-模型
查看>>
Eclipse更新SDK速度慢,解决办法
查看>>