随笔分类 - 学习笔记
摘要:~~不知道开头写什么话~~ 康康下面这个问题: 给定一个模式串和一个文本串,求模式串在文本串中出现的位置,次数. 一个显然的做法是对于文本串中的每个位置,都把模式串从头开始匹配. 但是这样的时间复杂度太高了, 所以我们有了接下来要讲的: kmp算法 . step 0 先定义一些东西. $a$:模式串
阅读全文
摘要:"本文参考这位dalao的题解" 前置技能: "二叉查找树" ~~其实kd tree很简单的啦~~ ~~和BST都差不多的啦~~ ~~就是在划分的时候把每一维都比较一下就行啦~~ ($dalao$的kd tree教程) ~~然而本蒟蒻是完全看不懂啊qwq~~ 于是我们从头讲起吧: step 1 首先
阅读全文
摘要:前置技能: "平衡树前传:BST" 终于学到我们喜闻乐见的平衡树啦! 所以我们这次讲的是平衡树中比较好写的$Treap$. (以后会写splay的先埋个坑在这) 好了,进入正题. step 1 我们知道,BST虽然很方便, 但是,它很容易被卡成一条链. 因此,我们需要一个能够保持平衡的BST. 于是
阅读全文
摘要:平衡树前传之BST 二叉查找树($BST$),是一个类似于堆的数据结构, 并且,它也是平衡树的基础. 因此,让我们来了解一下二叉查找树吧. (其实本篇是作为放在平衡树前的前置知识的,但为了避免重复~~懒得写~~就单独拎了出来) 首先,二叉查找树,是一个树形的数据结构~~废话~~,树上的每个节点有一个
阅读全文
摘要:众所周知,线段树是一个非常好用~~也好写~~的数据结构, 因此,我们今天的前置技能: 线段树 . 然而,可持久化到底是什么东西? 别急,我们一步一步来... step 1 首先,一道简化的模型: 给定一个长度为$n$的序列,$m$个操作,支持两种操作: 修改某个点$i$的权值 查询历史上某个版本$u
阅读全文
摘要:首先,说明一下模型: 有一个$n m$的矩阵,矩阵中的有些点有权值(大于0),还有一些点是障碍物(权值为0). 而我们要选出一个不含障碍物的子矩阵,使这个子矩阵的权值和最大. 那么,我们直接进入正题: 悬线法 首先,让我们了解一下悬线: 我们让一个点向上拓展,直到遇到障碍物位置, 那么拓展的长度就是
阅读全文

浙公网安备 33010602011771号