随笔分类 - 笔记
摘要:Update on 2023.7.17:该技巧目前已知的最早来源:skip2004。 Update on 2023.7.17:比较时,取时间戳较小的结点也是正确的,不用记录深度。 DFS 序求 LCA 无论是从时间常数,空间常数还是好写程度方面均吊打欧拉序。 定义 DFS 序表示对一棵树进行深度优先
阅读全文
摘要:概述 分层图最短路,如:有 次零代价通过一条路径,求总的最小花费。对于这种题目,我们可以采用 相关的思想,设 表示当前从起点 号结点,使用了 次免费通行权限后的最短路径。显然, 数组可以这么转移: $di
阅读全文
摘要:好用的 算法 记号 为了方便叙述,这里先给出下文将会用到的一些记号的含义。 为图上点的数目, 为图上边的数目; 为最短路的源点; 为 点到 点的 实际 最短路长度; 为 点到 点的 估计 最短路长度。任何时候都有
阅读全文
摘要:背包 笔记 背包是线性DP中一类重要而特殊的模型,下面分几个板块讲述。 0/1背包 背包问题模型如下: 给定 个物品,其中第 个物品的体积为 ,价值为 。有一容积为 的背包,要求选择一些物品放入背包,是得物品总体积不超过 的前提下,物品的价值总和最大。
阅读全文
摘要:一、何谓模式串匹配 模式串匹配,就是给定一个需要处理的文本串(理论上应该很长)和一个需要在文本串中搜索的模式串(理论上长度应该远小于文本串),查询在该文本串中,给出的模式串的出现有无、次数、位置等。 模式串匹配的意义在于,如果我是一个平台的管理员,我可以针对一篇文章或者一句话,搜索其中某个特定脏字或
阅读全文
摘要:引:石子合并 设有 堆石子排成一排,其编号为 。每堆石子有一定的质量 。现在要将这 堆石子合并成为一堆。每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石
阅读全文
摘要:第三周总结 本周主要学习了动态规划,下面来分几个板块逐一介绍 Part 背包 引入 在讲何为背包 之前,我们可以想想如下这个问题: 有一个容量为 的背包, 个物品,第 个物品的体积为 ,价值为 ,求怎样安排装的物品且不超过背包体积的情况下使所有选中的
阅读全文
摘要:Week2笔记 本周学习了两个知识点:分块思想+莫队与矩阵乘法 Part 1分块思想 1.分块的概念 何为分块?个人对于它的理解就是加了稍微优化的暴力。那这种思想能干啥呢?它是基于根号思想维护"区间"之类的问题。但我们回顾"区间"问题,我们学过了暴力、树状数组、线段树等众多算法。比如给定一个长度为
阅读全文
摘要:Wee1 心得:本周共学习了两个大的图论知识点,其中也可以套许多图论算法解决问题,最难的还是最先确定模型和建图的过程 Part1 二分图 1. 定义 二分图是指图中有两个部分 和 ,且图中每条边连接的两个顶点一定是一个位于 ,一个位于 . 2.匹配 所谓匹配就是一个图的
阅读全文