摘要: 这里主要是讲无旋Treap,比较好维护,能实现大量功能,并且可持久化。 缺点在于常数大,码量大,并且时间复杂度期望为 \(\log n\),有极低概率成为大倒霉蛋。 什么是平衡树 平衡树是一种数据结构,这种数据结构是以二叉搜索树为主体,但是可以实现插入删除等操作。 平衡树比较常见的形式有 Splay 阅读全文
posted @ 2025-11-28 09:53 huhangqi 阅读(10) 评论(0) 推荐(0)
摘要: 定义 强联通分量:在有向图中任意两个节点连通的有向图(SCC) 点双连通分量:删除任意节点仍然连通(v-DCC) 边双连通分量:删除任意边仍然连通(e-DCC) 割点:删除这个点以后图的连通性会发生改变的点 桥:删除这条边后图的连通性会发生改变的边 Tarjan Tarjan 算法可以求出上面的所有 阅读全文
posted @ 2025-11-28 09:51 huhangqi 阅读(25) 评论(0) 推荐(0)
摘要: 分成线段/直线两种 直线 自己取最值一定在一个区间里面 先比较同一段的中间值,让更优的占据这个点,之后再下传,这样每次都只下传一条直线了 查询如果单点查询,就向下然后把永久化标记都算一遍 区间查询直接找两个端点即可 合并时每条线段最多到底,时间复杂度 \(O(n\log n)\) 其余皆 \(O(\ 阅读全文
posted @ 2025-11-28 09:46 huhangqi 阅读(5) 评论(0) 推荐(0)
摘要: 决策单调性,通过决策点的单调性进行处理,从而优化 dp 的时间复杂度 对于这种题目,可以分为几个过程来完成题目: 敲暴力 观察是否有其它的优化方式 分析最优决策点位置/打表 得到如何使用决策单调性优化 石子合并 区间合并问题基本转移如下: \[ f_{l,r}=\min f_{l,k}+f_{k+1 阅读全文
posted @ 2025-11-28 09:44 huhangqi 阅读(4) 评论(0) 推荐(0)
摘要: 矩阵乘法方式,左边的行乘上右边的列,最终答案的行数与左边相等,列数与右边相等 左行右列 矩阵乘法必须在左矩阵列数与右矩阵行数相同时才可以进行 矩阵乘法满足结合律,不满足一般的交换律。 板子: struct MT{ int c[7][7],n,m; MT(){ n=m=0; memset(c,0x3f 阅读全文
posted @ 2025-11-28 09:42 huhangqi 阅读(13) 评论(0) 推荐(0)
摘要: 常规莫队 莫队用来处理一系列离线问题,可以在较短时间内移动一步区间的操作可以使用莫队来解决。 时间复杂度 传统的莫队只需要解决区间上的问题,因此只包含左端点和右端点,一般是按照 \(\sqrt n\) 的块长,以 \(l\) 所在的块为第一关键字,以 \(r\) 为第二关键字。 这样在 \(O(1) 阅读全文
posted @ 2025-11-28 09:39 huhangqi 阅读(5) 评论(0) 推荐(0)
摘要: 反正就给自己看,那么就随便写写 吐槽一下CPP为什么这么迟才教二分图 一个图是二分图,那么这个图就一定可以分成两部分,这两部分的点一定不会与自己的只一部分直接相连 二分图的判断非常水,直接黑白染色就可以了 只要没有奇环(我tm打qihuan都比打jihuan要快)就可以了 然后就会有很多的板子题了 阅读全文
posted @ 2025-11-28 09:37 huhangqi 阅读(5) 评论(0) 推荐(0)
摘要: 点分治就是在树上拿点分治 但是只能按照某个点对一个子树进行处理,所以一般处理路径问题 主要是找到重心,然后一直向下递归 找中心有个比较吊的写法,直接拿上一次这个点得到的大小作为子树大小求重心,正确性不会证明,直接用吧。 贴个代码: #include<bits/stdc++.h> using name 阅读全文
posted @ 2025-11-28 09:36 huhangqi 阅读(3) 评论(0) 推荐(0)
摘要: 定义 差分约束系统 是一种特殊的 \(n\) 元一次不等式组,它包含 \(n\) 个变量 \(x_1,x_2,...x_n\) 以及 \(m\) 个约束条件,每个约束条件是由两个其中的变量做差构成的,形如 \(x_i-x_j\le c_k\),其中 \(1\le i,j\le n,i\not=j,1 阅读全文
posted @ 2025-11-28 09:31 huhangqi 阅读(17) 评论(0) 推荐(0)
摘要: 首先讲讲 KMP 是怎么实现的。 题目: 题目: 求模式串在待匹配串中的出现次数。 明显可以直接暴力枚举,首先确定左端点,然后向右跑即可 考虑优化这一过程 我们考虑在整个字符串中匹配以某个字符为末尾的最长匹配 那么我们直接跑过去,如果完全匹配,最优情况下肯定是 \(O(n)\) 的 但是如果不是最优 阅读全文
posted @ 2025-11-28 09:26 huhangqi 阅读(5) 评论(0) 推荐(0)