摘要: 题目传送门 做完这道题后感觉对 Floyd 的理解更深了。 根据题面要求,设 \(f(k, i, j)\) 表示从 \(i\) 到 \(j\) 的所有只经过 \(1\sim k\) 的点的所有路径的最短距离。 很明显 \(k\) 那一维是阶段,因为它描述了从 \(i\) 到 \(j\) 路径中的不同 阅读全文
posted @ 2024-08-10 09:04 Brilliant11001 阅读(24) 评论(0) 推荐(0)
摘要: 题目传送门 看到这道题很多人用单调栈,其实用笛卡尔树本质差不多,但是思维难度更小。 不知道笛卡尔树的同学可以看这里 简单说来,笛卡尔树的一个子树可以代表一个区间,且左子树上点的下标小于根节点,右子树上点的坐标大于根节点。 这道题要求所有子区间的 \(\texttt{min}\) 值之和,其实就是看哪 阅读全文
posted @ 2024-08-06 16:38 Brilliant11001 阅读(73) 评论(0) 推荐(0)
摘要: 题目传送门 甘雨可爱捏 题目大意: 给定一棵有 \(n\) 个节点的树,第 \(i\) 个节点上有 \(a_i\) 只晶蝶,现在从 \(1\) 号点开始走,每走到一个点,获得该点的晶蝶但会惊动相邻点的晶蝶,第 \(i\) 个节点上的晶蝶被惊动后会在 \(t_i\) 后飞走,求问能获得最大晶蝶数量。 阅读全文
posted @ 2024-08-06 16:36 Brilliant11001 阅读(56) 评论(0) 推荐(0)
摘要: 1. 离线树状数组 介绍 有一类经典问题:给定一个序列,每次询问一个区间内的元素种类数。 这种题的做法有很多:莫队、分块、主席树……在不强制在线的情况下,他们的效率都较低,有一种效率高、空间小的离线做法:离线树状数组。 例题: P1972 [SDOI2009] HH的项链 题目大意 给定一个长度为 阅读全文
posted @ 2024-08-04 19:18 Brilliant11001 阅读(45) 评论(0) 推荐(0)
摘要: namespace IO{ char buf[1 << 20], *p1, *p2; #define gc() (p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, (1 << 20), stdin), p1 == p2) ? EOF : *p1++) temp 阅读全文
posted @ 2024-07-31 11:57 Brilliant11001 阅读(48) 评论(0) 推荐(0)
摘要: 题目传送门 题目大意: 在一个平面直角坐标系上,给定 \(n\) 个点的坐标 \((x,y)\),\(m\) 次询问,每次询问一个矩形范围内的点的数量,此矩形用 \(\{a, b, c, d\}\) 来描述,其中 \((a, b)\) 为左下角,\((c, d)\) 为右上角。 思路: 不难将题目转 阅读全文
posted @ 2024-07-31 11:57 Brilliant11001 阅读(59) 评论(0) 推荐(0)
摘要: 题目传送门 思路 一眼主席树板子题,但是一看数据范围 \(n,m\le 2\times 10 ^ 6\),似了。 在线做法应该是似完了,考虑离线做法。 我们知道树状数组是可以做二维偏序的,大家应该都知道一个经典问题:对于一个序列,多次询问下标 \(\le a\) 且数值 \(\le b\) 的数的个 阅读全文
posted @ 2024-07-31 11:56 Brilliant11001 阅读(143) 评论(0) 推荐(0)
摘要: \(\texttt{0x00}\) 状态机介绍 百度百科 简单来说,状态机就是一个数学模型,不是一个实际的机器。它含有几个状态,还有几个函数(或者通俗一点叫“桥梁”),使得这几种状态可以在一定条件下实现相互转化。 是不是和动态规划的状态转移过程很像? 所以有一类型的动态规划题目,它的状态可以在一定的 阅读全文
posted @ 2024-07-27 11:55 Brilliant11001 阅读(169) 评论(0) 推荐(1)
摘要: 题目传送门 思路: 个人认为构造题全靠感性理解,理解对了问题就迎刃而解了。(有点像做阅读理解) 我们先感性地理解题目中所有变量和函数的含义。 \(f\) 函数是什么? 当 \(j \neq 0\) 时,\(f(i, j) = f(p_i, j - 1)\),就是使 \(j\) 花费了 \(1\) 的 阅读全文
posted @ 2024-07-26 17:25 Brilliant11001 阅读(48) 评论(0) 推荐(0)
摘要: 题目传送门 题目描述 给定一个长度为 \(n\) 的序列,把它划分成至少一个连续的子段,每个子段的权值为该段的一个二次函数,求最大的权值和。 思路: 这种序列问题的状态通常是一维的,所以我们定义 \(dp(i)\) 为已经划分完前 \(i\) 项且最后在 \(i\) 处划分能获得的最大权值和。 对于 阅读全文
posted @ 2024-07-25 19:57 Brilliant11001 阅读(23) 评论(0) 推荐(0)