随笔分类 - 学习笔记
摘要:【学习笔记】线段树合并 & 分裂 前置知识:动态开点线段树 用来解决一些对区间拆分合并的问题。 线段树合并大概可以替代 DSU,但是常数略大。 对于线段树分裂合并的空间复杂度问题,一般内存要开 ,其中 \(
阅读全文
摘要:【学习笔记】线段树应用 标题用 ##,说明太水啦~ 主要是以一些题目为例谈谈线段树的一些拓展用法,感觉线段树很神! P2146 [NOI2015] 软件包管理器 树剖+线段树 树剖+线段树板子,这种树剖的题只是加了个树剖的壳把它转换为区间问题罢了。至于为什么,这里弱弱的引用神🐟的一张图: 关于各点
阅读全文
摘要:【学习笔记】哈希 Hash 的核心思想在于,将输入映射到一个值域较小、可以方便比较的范围。 主要用来判重! 如何辨别哈希题?大概就通过一句话:当需要用 的时间快速比较两个 的东西时。应该对大部分题目都生效。 字符串哈希 感觉这一块 OI_wiki 讲得比较清楚。
阅读全文
摘要:【学习笔记】KMP 因为字符串对我太抽象了,所以只能以水的心态写这个 KMP。 感觉考到字符串的题肯定要崩。 以下均规定字符串 以下标 0 开头。 前缀函数: 给定一个长度为 的字符串 ,其前缀函数被定义为一个长度为 的数组 。 简单来说
阅读全文
摘要:【学习笔记】并查集应用 以 NOI 2001 食物链 为例の两种并查集用法。 题目大意: 规定每只动物有且仅有三种可能的种类 , 会吃 , 会吃 , 会吃 。 给定 只动物, 个语句。每个语句有如下两
阅读全文
摘要:【学习笔记】最短路 前言:只是对一些最短路算法的实现整理。 以下内容有部分摘自OI_wiki。 Floyd 算法 求全源最短路。可以有负边权。 Floyd 算法的本质是动态规划。设 表示由若干个编号不超过 的节点中转后从 到 的最
阅读全文
摘要:【学习笔记】倍增 倍增法,顾名思义就是翻倍。它能够使线性的处理转化为对数级的处理,大大地优化时间复杂度。 ST 表 RMQ 是 Range Maximum/Minimum Query 的缩写,表示区间最大(最小)值。 而 ST 表是用于解决可重复贡献问题的数据结构。 记 为 \
阅读全文
摘要:【学习笔记】图论连通性 啊啊啊啊啊! 先引用一篇犇的:))) 缩点 弱连通: 对于有向图中两点 和 ,它们在所有边为无向时存在一个环使它们相连。 强连通: 对于有向图中两点 和 ,存在一个环使它们相连。 强连通子图: 对于有向图 \(G = (V, E)\
阅读全文