博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最近公共祖先(lca) hdu 2586
阅读量:4310 次
发布时间:2019-06-06

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

hdu 2586 

题目大意:给定n-1条边构成一棵树,无向的;和m个询问,对于每一个询问按顺序回答。

结题思路:lca算法算出最近公共祖先,然后dis[u]+dis[v]-2*dis[father](father是u,v的最近公共祖先),小trick是在构造询问树的时候把权值设成询问对应的输入顺序

#include 
#include
#include
#include
#include
#include
#include
using namespace std;const int maxn=40000+10;struct node{ int v,w,next;}e[maxn<<1],q[maxn<<1];int ehead[maxn],qhead[maxn],vis[maxn],fa[maxn],dis[maxn],ans[maxn];int eT,qT;int n,m;void build(node *ed,int *head,int &T,int u,int v,int w){ ed[T].v=v; ed[T].w=w; ed[T].next=head[u]; head[u]=T++;}void init(){ memset(ans,0,sizeof(ans)); memset(dis,0,sizeof(dis)); memset(ehead,-1,sizeof(ehead)); memset(qhead,-1,sizeof(qhead)); memset(vis,0,sizeof(vis)); for(int i=1;i<=n;i++) fa[i]=i; eT=qT=0; int u,v,w; for(int i=0;i

 

转载于:https://www.cnblogs.com/youmi/p/4516607.html

你可能感兴趣的文章
睿智计数器
查看>>
1.celery概述
查看>>
洛谷 P1057 传球游戏
查看>>
DAY-5 Linux系统用户、群组和权限
查看>>
一、MongoDB的下载、安装与部署
查看>>
数据结构整理
查看>>
4基本动画
查看>>
10个小技巧助您写出高性能的ASP.NET Core代码
查看>>
JavaScript中的 JSON 和 JSONP
查看>>
字符串相关工具类
查看>>
iOS:图标尺寸
查看>>
项目冲刺,20151118
查看>>
O055、Detach Volume 操作
查看>>
MyBatis学习(3)
查看>>
otrs离线部署
查看>>
spring ioc原理(看完后大家可以自己写一个spring)
查看>>
[codevs 1039]数的划分
查看>>
【会议记录】第一次例会(9.22)记录
查看>>
SpringBoot与缓存
查看>>
java内存分析
查看>>