摘要: 斜率优化学习笔记 什么是斜率优化 首先需要知道的是斜率优化本质上就是通过对原 \(dp\) 式子的化简,通过其他方法维护使得原 \(dp\) 式的时间复杂度降低的方法。 斜率优化是怎么做的 假如现在有一个 \(dp\) 转移方程如下: \[f_i = \min\left \{ f_j + (s_i 阅读全文
posted @ 2023-12-07 20:17 Populus_euphratica 阅读(16) 评论(0) 推荐(0)
摘要: CDQ 学习笔记 什么是 CDQ \(CDQ\) 算法本质上来说其实是一种思想。用来处理点对之间的位置关系,优化一维 \(dp\),或者是将一些动态问题转化为静态问题。 \(CDQ\) 是一种离线做法,对于某个区间查询而言,虽然直接计算该区间很困难,但当只有一个点时处理起来简单,并且如果将原区间分为 阅读全文
posted @ 2023-12-07 19:16 Populus_euphratica 阅读(16) 评论(0) 推荐(0)
摘要: 高斯-约旦消元学习笔记 高斯消元本来很早之前就学了的,但最近才用上,所以现在才来写学习笔记。 入手——二元一次方程组 首先,相信各位都很熟悉这样一个东西,那就是二元一次方程组,它长这个样子: \[\left\{\begin{matrix} a_1x + b_1y = c_1 \\ a_2x + b_ 阅读全文
posted @ 2023-11-30 07:44 Populus_euphratica 阅读(31) 评论(0) 推荐(0)
摘要: 2023-2024学年上做题记录 2023-10-22 P1896 (互不侵犯) 由于状压 \(dp\) 实在是太菜了,做一下来来练练手 大概意思就是给你一个 \(n \times n\) 的棋盘和 \(k\) 个棋子,求使得这些棋子周围八个格子里没有其他棋子的摆放方案数。 一看范围很小,很适合状压 阅读全文
posted @ 2023-11-24 17:27 Populus_euphratica 阅读(27) 评论(0) 推荐(0)
摘要: 莫比乌斯反演学习笔记 前置知识 整除分块(数论分块) 整除分块,主要是用来处理类似以下问题的: \[\sum_{i = 1} ^ n \left \lfloor \frac{n}{i} \right \rfloor \]当然可以选择暴力枚举计算,但这只适用于 \(n \le 10^8\),再大就会超 阅读全文
posted @ 2023-11-24 17:25 Populus_euphratica 阅读(17) 评论(0) 推荐(0)
摘要: \(FHQ\) \(Treap\) 学习笔记 \(FHQ\) 属于平衡树的一种,而 \(FHQ\) 能支持维护值,下标,还可以区间修改,可持久化,非常逆天。 首先,在使用 \(FHQ\) 时我们需要维护两个值 \(val\) 和 \(key\),\(val\) 就是输入的值,\(key\) 是随机生 阅读全文
posted @ 2023-11-23 10:48 Populus_euphratica 阅读(9) 评论(0) 推荐(0)
摘要: 算法学习笔记:线段树进阶 壹.李超线段树 一、什么是李超线段树 李超线段树主要是用来维护在平面直角坐标系内直线关系的数据结构。举个例子,就是给定几条线段,然后询问在某条平行于 \(y\) 轴的直线与这些线段的交点的最值。如下图所示: 在这个平面直角坐标系中,有五条线段,而李超线段树可以求出在每个 \ 阅读全文
posted @ 2023-11-21 21:46 Populus_euphratica 阅读(20) 评论(0) 推荐(0)