随笔分类 - 学习笔记
摘要:可持久化数组 例题 可持久化线段树 算法流程 复杂度分析 例题 点击查看代码 #include<bits/stdc++.h> using namespace std; const int N = 2e5 + 9; int a[N], b[N], root[N], cnt, n, m; struct{
阅读全文
摘要:线段树最重要的操作就是 pushup 和 pushdown,对于一类问题,光凭当前节点的信息无法合并,需要用到它的子节点的信息才能合并,这就是线段树单侧递归问题,时间复杂度一般是 。 打个比方,比如一条河流被污染了,但是仅在这条河岸找不到污染源,于是只能看这条河
阅读全文
摘要:朴素扫描线算法 矩阵面积并 矩阵周长并 二维数点 广义扫描线算法 矩阵信息反演 区间子区间问题 时间-序列问题 参考资料 李xl、付ym 的课件
阅读全文
摘要:并构造 笛卡尔积构造 Sequence 构造 multiset 构造 Powerset 构造 Cycle 构造 带限制构造
阅读全文
摘要:多项式多点求值 多项式快速差值 分治 FFT 多项式平移 连续点值平移 等差数列点值平移 快速阶乘算法
阅读全文
摘要:卡塔兰数( ) 斯特林数( ) 斯特林数作为组合数学中非常重要的一类数,一共分为第一类斯特林数与第二类斯特林数,在处理复杂的小球与盒子的关系时有重要的作用。我们先从比较简单的第二类斯特林数讲起。 第二类斯特林数 定义 记 \(\displaystyle{n
阅读全文
摘要:牛顿迭代 高中数学中,我们学过牛顿法求函数零点,其实,对于多项式的计算,也有牛顿迭代法。 回忆一下牛顿法的过程,对于二次函数 ,我们首先猜测一个零点 ,求出 处的切线。 比如我们取 ,由于
阅读全文
摘要:今天的课要好懂一些,但还是没听懂最后两道构造题qwq
阅读全文
摘要:动态开点线段树 回忆普通线段树,它的空间一般要开到数组长度的 倍 (因此经常MLE),考虑如何优化它。 权值线段树 线段树合并 算法流程 复杂度分析 例题二 #include <bits/stdc++.h> using namespace std; const int N = 1e5 +
阅读全文
摘要:sto %%%大佬huangkx%%% orz
阅读全文
摘要:例题 过河问题 选家具 P10609 排除干扰 P10478 生日礼物 P9965 [THUPC 2024 初赛] 转化 CF622F The Sum of the k-th Powers P8290 [省选联考 2022] 填树 P3292 [SCOI2016] 幸运数字 P4151 [WC201
阅读全文
摘要:基本概念 博弈定义:在一定条件下,遵守一定的规则,一个或几个拥有绝对理性思维的人或团队,从各自允许选择的行为或策略进行选择并加以实施,并从中各自取得相应结果或收益的过程。 举几个例子来说说什么是博弈: 经济学:股市是按照这样的方式运行的:每个人可以持有股票,如果抛出过多股票则股价下跌,没有抛股票的人
阅读全文
摘要:分块 朴素分块 基本概念 分块的基本思想是,通过对原数据的适当划分,并在划分后的每一个块上预处理部分信息,从而较一般的暴力算法取得更优的时间复杂度。 分块的时间复杂度主要取决于分块的块长,一般可以通过均值不等式求出某个问题下的最优块长,以及相应的时间复杂度。 LOJ小分块 #6277. 数列分块入门
阅读全文