![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LCA
C202207xiaofang
保加利亚希望中学附属光明小学优秀毕业生
展开
-
To_Heart—题解——CF33D
首先我们发现,任意两个圆是没有交叉点的。所以说对于任何两个圆,只有包含或者并列的情况,所以就可以转换成一棵树。#include<bits/stdc++.h>#define ll long longusing namespace std;struct zz{ int u,id;}T[300005];struct ss{ int r; int x,y;}a[1005],s[1005]; bool cmp(ss x,ss y){ return x.r<y.r;}原创 2021-01-16 08:13:21 · 134 阅读 · 0 评论 -
To_Heart—题解——COCI 2014/2015 #3 STOGOVI
题目大意题目描述Mirko在玩堆栈游戏。开始他有一个空的堆栈,编号为0.在第i步(1<=i<=300000),他会选择一个编号为v的堆栈,复制一份并做如下操作:a v 表示将v号堆栈复制一份,新栈的编号为i,并将元素i压入新栈的栈顶。b v 表示将v号堆栈复制一份,新栈的编号为i,将新栈的栈顶元素弹出。c v w 将v号堆栈复制一份,编号为i,并比较第v号和第w号堆栈中有多少相同的数。输入格式第一行一个整数n,表示有n步。接下来n步,每步表示一个操作,如上所述。输出格式:原创 2020-10-05 16:02:37 · 1823 阅读 · 6 评论 -
To_Heart—总结——LCA
目录写在前面0. 一些定义1. 暴力爬山法方法举个栗子核心代码:2.基于倍增的暴力爬山法方法预处理倍增优化-第一部分倍增优化-第二部分代码3.Tarjan算法方法举个栗子代码今天,咱们来讲一讲LCA算法写在前面对于LCA,笔者也并没有说做到百分之百的掌握掌握了就不用谢博客了呀,所以若有什么错误的地方,希望各位看官可以指出;0. 一些定义首先,我们需要明白一些定义,这些定义可以帮我们更好的理解算法祖先:有根树中,一个节点到根的路径上的所有节点被视为这个点的祖先,包括根和它本身;公共祖先:对于点原创 2020-10-05 14:53:05 · 176 阅读 · 0 评论