
LCA
Start_to_crazy
这个作者很懒,什么都没留下…
展开
-
HDU2586 LCA_Tarjan模板题
题意: 给你n个点,m个询问,问你A,B之间最短的长度是多少。 题解: 这道题是一道求最近公共祖先的题,对于询问i,j的LCA,答案为dist[i]+dist[j]-2*dist[LCA(i,j)],这里dist[i]为i点到1号根节点的距离。 对于询问,要存放两次分别为(i,j),(j,i),因为LCA第一次问i,j的时候可能j还没被访问。#include<stdio.h>原创 2018-01-10 18:05:05 · 298 阅读 · 0 评论 -
POJ1470 (LCA_Tarjan模板题)
题解: 除了输入特别恶心,其他都还好,有机会求看看POJ里面的讨论,我超喜欢里面,个个都是人才,说话又好听。输入的时候可以这样输入scanf(“%d:(%d)”,&u,&k);然后询问的时候就这样输入 scanf(” (%d %d)”,&u,&v);,前面有空格的,ORZ都是里面的大佬告诉我的,不然得写个半死的输入。 观看的博客是这位大佬的: https://www.cnblogs.原创 2018-01-10 18:09:36 · 353 阅读 · 0 评论