06 2021 档案
摘要:应该是目前提高级大纲里面最难的数据结构了。。。 前置芝士:BST 给定一棵二叉树,树上的每个节点带有一个数值,称为节点的“关键码”。所谓的“BST 性质”是指,对于树中的任意一个节点: 1.该节点的关键码不小于它的左子树中任意节点的关键码。 2.该节点的关键码不大于它的右子树中任意节点的关键码。 满
阅读全文
摘要: 算法的模板题。 题意 给定一张 个点 条边的有向图,求从起点 到终点 的第 短路的路径(每个点只能经过一次),当路径长度相同时按字典序排序。 前置芝士 算法实质上是带有估价函数的优先队列 BFS,其中 Dijkstra 算法就是一种估价函
阅读全文
摘要:题意 给定一个 个顶点 条边的带权无向图,多次询问在两个点之间所有可能的路径中的最大值,最小为多少。 思路 显然,可以先在用 kruskal 算法在原图上构造一棵最小生成树。可以证明,两点之间的路径在这棵树上时,边权的最大值最小。 而对于找到这个最大值有两种做法,一种是在求最近公共祖
阅读全文
摘要:定义 可持久化数据结构,主要解决的问题是查询数据结构的所有历史版本。 如果每对数据结构修改一次,就暴力记录新的数据结构,那么时间和空间复杂度都会增加 。显然无法接受。 而可持久化数据结构的核心思想是记录当前版本与上个版本不一样的地方。这样一来,数据结构的时间复杂度没有增加,空间复杂度仅
阅读全文
摘要:题意 给定一个 行 列的棋盘,给出起点 ,要走到棋盘的最后一行 ,每次等概率向左、右、下走或原地不动,不能走到棋盘外面 ,求走到最后一步的期望步数。 思路 设 表示从 走到最后一行的期望步数,那么最终的答案就是 ,
阅读全文
摘要:斜率优化的中心思想就是利用一次函数的斜率来优化某些 转移方程。斜率优化的题目状态转移方程通常比单调队列优化更为复杂,同时斜率优化通常也会用到单调队列优化。 以下记录的题目基本上都为斜率优化的模板题。 [SDOI2012]任务安排 题意 本题的题意较为复杂。一台机器需要按顺序处理 个
阅读全文
摘要:单调队列优化 ,就是利用单调性在 的时间内进行状态转移,可以极大的提高程序的运行效率。 前置芝士 单调队列,顾名思义,就是满足队列中的元素要么单调递增,要么单调递减。运用单调队列可以在 的时间里求出区间的最值。 滑动窗口(单调队列模板题) 这道题是单调队列最简单的
阅读全文
摘要:题意 给定一个 的棋盘,棋盘上的每一个位置都有一个数。将棋盘水平或竖直切一刀,将剩下的一部分继续分割(也就是不能在两个子棋盘里面同时分割),直至棋盘被分成 个部分,每一个部分的分值为其中的数字之和。求出最小的均方差值。 均方差 $\sigma=\sqrt{\dfrac{ {\te
阅读全文
摘要:单调队列优化 的好题。 题意 要从 个商店中购买 吨饲料。设某时刻已经买了 吨饲料,行驶一公里的花费为 。现在 从 这个位置出发,最终要走到 这个位置。给出每一家商店的位置、饲料的库存以及饲料的单价,求最少花费。 思路
阅读全文
摘要:题意 给定n个数字,将它们分成连续的若干个区间。满足后一个区间中的数字之和一定不大于前一个区间中的数字之和。求最多可以分成多少个区间。 思路 ~~显然~~,本题可以用动态规划进行求解。 定义 表示最后一个区间的右端点为第 个数的时候所能分成的最大区间数。 但是只靠 数
阅读全文
摘要:树形动态规划,即在树上进行的动态规划。 因为树的递归性质,树形动态规划一般都是递归求解的。~~(摘自洛谷题单)~~ 没有上司的舞会(经典树形DP入门题) 题意 公司的每一个职员都有从属关系(~~除校长外~~),所有职员的从属关系构成一棵树,每一个职员都不会和他的直接上司同时参加舞会。每一位职员都有一
阅读全文