- 博客(4)
- 收藏
- 关注
原创 倍增求LCA
[定义]LCA指的是最近公共祖先(Least Common Ancestors)。如图:举个例子,如果要[yào]求M和H的最近公共祖先。很明显,M的祖先有G,E,F;而H的祖先有E,F。其公共祖先是E,F。但他们的最近公共祖先是E。很简单吧:-)好的,接下来看一道模板题。原题链接(洛谷P3379)[题目描述]如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。[输入格...
2019-07-26 08:47:04
249
原创 线段树
[定义]线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。[作用]使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。而未优化的空间复杂度为2N,实际应用时一般还要开4N的数组以免越界,因此有时需要离散化让空间压缩。(以上的全部都来源于百度)[题目描述]小E和小G是好朋友,小E非常喜欢吃甜食...
2019-07-23 21:36:45
125
原创 Tarjan
[定义]有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强连通子图,称为强连通分量(源自百度)。**[题目大意]**在一个有向图中,告诉你路径。求其中的强连通分量的数量。[思路分析]其实如果我不知道Tarjan这道...
2019-07-23 08:16:16
79
原创 HDU 1505 City Game
[题目链接] HDU 1505 City Game[题目大意] 给你一个MN的区域。R代表被占用,F代表空闲。求最大的全是空闲的矩形面积*3。[题目分析]首先看到这道题,首先应该考虑复杂度。发现N,M<=1000,所以普通的暴力算法肯定过不了。暴力算法每找到两个点确立矩形时,都需要重复判断其中的组成是否全是‘F’。所以为了优化,就必须尽可能的重复判断。这样,我们便很容易地想到矩形面...
2019-07-22 08:23:29
96
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人