摘要: DFS序及其应用 定义 按照深度优先搜索(DFS)的访问顺序对树节点进行排序,即得到树的dfs序。 性质 在dfs序中,每个节点及其整个子树的节点的dfs序是一段数值连续的编号 因此对于子树的操作,就可以转化成对于一段区间的操作。可以与 线段树 和 树状数组 结合使用。 包括后续的 树链剖分。 基本 阅读全文
posted @ 2025-05-24 15:31 Showball 阅读(126) 评论(0) 推荐(1)
摘要: 练习题题解 第1题 连通块 DP CF 1051 D 题目链接 给定一个 \(2\) 行 \(n\) 列的矩阵 \(a\) ,你可以在矩阵中填数,任选第 \(i\) 行第 \(j\) 列,可以填 \(1\) 或 \(0\) ,即可以使 \(a[i,j]=0\) 或使 \(a[i,j]=1\) ,填满 阅读全文
posted @ 2025-05-04 12:01 Showball 阅读(36) 评论(0) 推荐(0)
摘要: 洛谷题单 【数据结构2-1】二叉堆与树状数组 P1878 舞蹈课 优先队列+模拟 题目链接 每次要取出最小值,考虑用优先队列维护。维护出跳舞的两个人的 \(id\) 以及技术相差值。 然后每次取出队头元素,判断左右两边的是否可以构成新的舞伴加入优先队列即可。 注意:每个人只能和一个人组成舞伴,所以要 阅读全文
posted @ 2024-12-18 22:19 Showball 阅读(75) 评论(0) 推荐(0)
摘要: Kruskal 重构树学习笔记 参考博客 链接 性质 这里给定最小生成树 Kruskal 重构树 的性质,那么最大生成树 Kruskal 重构树 的性质可以同理得。 重构树是一棵恰有 n 个叶子节点的完满二叉树,每个非叶子节点都有两个儿子,共有 2n−1 个点。(初始图中的 n 个点是叶子,由于是棵 阅读全文
posted @ 2024-12-14 03:36 Showball 阅读(43) 评论(0) 推荐(0)
摘要: 洛谷题单 算法2-3 字符串 KMP模板 使用前保证字符串下标从 \(1\) 开始。e.g. s="?"+s; template<class Type> struct KMP{ vector<int> init(Type s){ int n=(int)s.size()-1; vector<int> 阅读全文
posted @ 2024-12-10 01:55 Showball 阅读(40) 评论(0) 推荐(0)
摘要: 可持久化Trie--区间异或最值问题 应用:在 \(O(logn)\) 时间复杂度解决 查询区间 \([l,r]\) 内与数 \(x\) 异或的最大值。 插入操作:把 \(n\) 个整数插入 \(01Trie\),生成 \(n\) 个版本的可持久化树。 查询操作:利用前缀和与差分的思想,用两颗前缀 阅读全文
posted @ 2024-12-09 21:28 Showball 阅读(46) 评论(0) 推荐(0)
摘要: P3369 【模板】普通平衡树 题目链接 您需要动态地维护一个可重集合 \(M\),并且提供以下操作: 向 \(M\) 中插入一个数 \(x\)。 从 \(M\) 中删除一个数 \(x\)(若有多个相同的数,应只删除一个)。 查询 \(M\) 中有多少个数比 \(x\) 小,并且将得到的答案加一。 阅读全文
posted @ 2024-12-08 18:38 Showball 阅读(15) 评论(0) 推荐(0)
摘要: 洛谷题单 算法2-3 分治与倍增 P2345 [USACO04OPEN] MooFest G 树状数组 题目链接 思路: 让我们求所有两两之间 \(max(v_i,v_j)\times |x_i-x_j|\) 的值之和。 经典思路,考虑每个数对答案的贡献。对于每个数 \(v\),会产生所有比 \(v 阅读全文
posted @ 2024-12-02 05:24 Showball 阅读(129) 评论(0) 推荐(0)
摘要: Atcoder Beginner Contest 380 题解 (A-G) 题目链接 A - 123233 #include<bits/stdc++.h> using namespace std; using i64=long long; void Showball(){ string s; cin 阅读全文
posted @ 2024-11-20 01:09 Showball 阅读(65) 评论(0) 推荐(0)
摘要: Atcoder Beginner Contest 379 (A-F) 题目链接 A - Cyclic #include<bits/stdc++.h> using namespace std; using i64=long long; void Showball(){ char a,b,c; cin> 阅读全文
posted @ 2024-11-14 19:44 Showball 阅读(40) 评论(0) 推荐(0)