随笔分类 - 算法笔记
摘要:算法描述 恐龙,是指三角龙、现代鸟类和梁龙的最近共同祖先 (LCA) 及其所有后代。 ——百度百科 假设有一棵树,上面有两个节点,求两个节点最近的共同祖先节点。也可以理解为包含这两个节点的子树是从什么时候分开的。 算法思路 一生二,二生四,四生万物。 ——泥土笨笨 采用倍增的思想,将查询最近共同祖先
阅读全文
摘要:问题叙述 RMQ 是 Range Maximum/Minimum Query 的缩写,表示区间最大/最小值。 显而易见的,可以用线段树写。但是我这样的蒟蒻早就忘了线段树怎么写了,而且由于该问题不涉及修改操作,所以线段树十分没有性价比。 这是就需要用到好理解又好写的ST表了。 算法思路 ST表是用于解
阅读全文
摘要:Floyd 算法基本原理及其变通技巧和适用场景
阅读全文
摘要:算法描述 线段树是一种能够处理区间修改和区间查询的数据结构。 顾名思义,线段树就是一种存储着线段数据的树形结构。它的每个节点都表示一个线段区间,每个节点的孩子节点存储的就是该区间的左半段和右半段。每个线段区间都存储着一个值,一般是区间和,也有可能是区间最大/最小值。 算法实现 线段树使用数组实现,根
阅读全文