摘要: 单调栈与单调队列 你说我都会树链剖分了,咋还不会单调栈与单调队列啊? 单调栈 问题类型:对于一个长度为 \(n\) 的序列 \(a\),对于 \(\forall 1\le i\le n\),求 \([a_1\sim a_{i-1}]\) 或 \([a_{i+1}\sim a_n]\) 的最靠近 \( 阅读全文
posted @ 2025-09-02 23:34 Atserckcn 阅读(17) 评论(0) 推荐(0)
摘要: 再谈矩阵快速幂 矩阵乘法 对于一个大小为 \(a\times m\) 的矩阵 \(A\) 和一个大小为 \(m\times b\) 的矩阵 \(B\),相乘可得一个大小为 \(a\times b\) 的矩阵 \(C\),如下。 \[\begin{bmatrix} A_{1,1},A_{1,2}\cd 阅读全文
posted @ 2025-08-07 08:21 Atserckcn 阅读(17) 评论(0) 推荐(1)
摘要: 数位dp 特点 问题大多是指“在 \([l,r]\) 的区间内,满足……的数字的个数、种类,等等。” 但是显然,出题人想要卡你,\(r\) 肯定是非常大的,暴力枚举一定超时。 于是就有了数位 dp。 基本思路 数位 dp 说白了就是个数字(\(R\)​ 进制下),从高位到地位依次填空。 若询问区间为 阅读全文
posted @ 2025-07-20 20:43 Atserckcn 阅读(18) 评论(0) 推荐(0)
摘要: 割点 定义: 若一个点在图中被去掉后,图的连通块个数增加,那么这个点就被称为“割点”。如下图所示红点。 定义说白了就是若去掉一个点,图被“断开”的点称为割点。 朴素算法: 枚举每个点 u。 遍历图,如果有一个点或多个点遍历不到(遍历期间不能经过点 u),那么 u 就是割点。 时间复杂度:\(O(N^ 阅读全文
posted @ 2025-05-16 23:15 Atserckcn 阅读(121) 评论(0) 推荐(0)
摘要: 2025五一节暮春营游记 On 2025.5.5 FZSZ。 干完早饭前往 FZSZ。大概 8:00 左右到。与朋友聊天。聊了若干 \(\min\) 后进机房开考。 A 题神奇填空题,之前在 FZSZ 参加营的时候都没看见,这次开眼了。\(100\div 5=20pts/T\)。 由于太神奇,而且一 阅读全文
posted @ 2025-05-06 19:07 Atserckcn 阅读(65) 评论(2) 推荐(1)
摘要: 浅谈链表的优化技巧 麻烦写法: 正常写链表,都是一个头元素 head 一个尾元素 tail 来记录链表的虚拟头和虚拟尾或真实头和真实尾。 但是显然在插入操作和删除操作的时候,这种写法就会显得很麻烦,要特判一大堆情况: 插入的元素在链表头:更新 head 且只要更新两条关系链。 在中间:最正常,没话说 阅读全文
posted @ 2025-04-28 20:45 Atserckcn 阅读(65) 评论(0) 推荐(0)
摘要: 字典树(Trie树)详解 理论模块: trie 树 字典树是一种用于实现字符串快速检索的多叉树结构 trie 的每个节点都拥有若干个字符指针,若在插入或检索字符串时扫描到一个字符 \(c\) 就沿着当前节点的 \(c\) 字符指针,走向该指针指向的节点 下图即为一个简易版字典树,存储了单词:abc、 阅读全文
posted @ 2025-04-28 19:39 Atserckcn 阅读(58) 评论(0) 推荐(0)
摘要: [多彩数据结构] 笛卡尔树 定义 笛卡尔树,就是一棵树(废话)中存两个信息,为 \((w,i)\)。其中 \(k=weight,i=id\)。 即 \(w\) 存的是节点的值,\(i\) 存的是编号。 每棵笛卡尔树都对应着一个排列,这点很重要(伏笔)。 下面给出一个标准的笛卡尔树。 \(w\) 满足 阅读全文
posted @ 2025-04-28 19:37 Atserckcn 阅读(39) 评论(0) 推荐(0)
摘要: AT_abc237_f [ABC237F] |LIS| = 3 题解 洛谷。 题意够简练了,不复述。 避坑 注意,洛谷的翻译有误,数列各项可以等于 \(M\),不是 \(M\)​ 以下!! 而且 “最长增加部分列” 最好改为 “最长上升子序列”。 思路 胖头鱼教练:看题吧。 我:怎么动态维护最长上升 阅读全文
posted @ 2025-02-23 18:18 Atserckcn 阅读(36) 评论(0) 推荐(0)
摘要: 分块 特点:一种优雅的暴力,大段维护,小段朴素。 假设我们有一个长度为 \(n\) 的数组 \(a\)。 需要我们维护区间修改和区间查询等操作。 那么朴素算法就不用说了,如果是万能的线段树还行。但是线段树码量过大,容易出bug。 这个时候就得用到分块的思想。 分块思想: 对于需要维护的数组 \(a\ 阅读全文
posted @ 2025-02-15 16:14 Atserckcn 阅读(109) 评论(4) 推荐(1)