随笔分类 - 学习笔记
摘要:基数排序 算法思想:利用桶的单调性,从低到高位依次将整数放进对应数位的桶中。 时间复杂度: ,其中 为数位, 为元素个数, 为桶的大小。 后缀树 对于字符串 ,取出 所有的后缀字串,并建立字典树。这个树就是 \(
阅读全文
摘要:目录 根号分治 点分治 CDQ 分治 待补 正文 根号分治 其实分块也是一种根号分治。 本质是将一组询问按照某个值域来划分(通常取根号),不超过 时采用一种做法,超过了换另一种(一般一种是暴力,另外一个空间换时间或采用其他一些的算法结合)。 例:洛谷 P3396 首先显然有一个 for(in
阅读全文
摘要:使用场景:单点向区间,区间向单点或区间向区间建边。 实现原理:用线段树的一个节点管辖一段图上区间的顶点。 实现步骤: 将原图中的顶点拆点(理论上,实际代码中不需要),出点和入点。 建立两棵线段树,出点的树和入点的树。 出点的树由子节点连向父节点,边权为 ,入点的树由父节点向子节点连边,边权为
阅读全文
摘要:前置芝士:线段树动态开点 使用场景: 维护区间太大, 存不下,通常是值域线段树。 维护的区间下标存在负数。 空间复杂度: 全部开点,则 每递归一次,最多开点 ,若调用 次就是 。 原理: 若一段子区间
阅读全文