随笔分类 -  数据结构

DS
摘要:题目链接 题意 给出长度为$n$的序列$a_i$,\(q\) 次询问,求最大子段和,相同的数只算一次 $1 ≤ n,q≤ 100000$ \(-100000≤a_i≤100000\) 分析 没有修改操作,考虑离线处理 正序扫描序列加入每个元素,并在线段树中的每个叶子节点$i$维护区间$[i,j]$去 阅读全文
posted @ 2020-12-11 20:52 xcxc82 阅读(119) 评论(0) 推荐(0)
摘要:大致题意 给一颗$n$个节点的树,现在有$m$次操作,每次选择两个节点$u$,\(v\),对$u$到$v$的路径上的每个节点都发放一袋$z$类型的物品 求所有操作完成后,每个点存放最多的是哪种物品 \(n,m≤10^5,z≤10^9\) 分析 线段树合并模板题 差分+离散化一下 每次操作时将$u$和 阅读全文
posted @ 2020-11-22 21:58 xcxc82 阅读(65) 评论(0) 推荐(0)
摘要:大致题意 给一颗$n$个节点带点权图,现在有$m$次操作,操作分为两种: 询问当前与$u$联通的第$k$大权值是哪个 连接两个节点$u,v$ \(n,m≤10^5\) 分析 并查集+线段树合并 维护一个并查集,在合并两个节点$u$和$v$的时候把它们的线段树也合并起来 复杂度$(n+m)logn$ 阅读全文
posted @ 2020-11-22 21:57 xcxc82 阅读(74) 评论(0) 推荐(0)
摘要:间隙 大致题意 给一个串包含$n$个珠子的项链,其中第$i$个珠子的颜色是$c_i$ 现在要求维护以下几个操作: \(n,m≤500000\) 分析 细节巨多的一道线段树题 调了将近四个小时/kk 如果没有翻转操作,这就是个线段树裸题 不难发现,翻转操作只是把顺时针旋转变成了逆时针旋转 维护两个变量 阅读全文
posted @ 2020-11-21 11:07 xcxc82 阅读(143) 评论(0) 推荐(0)
摘要:间隙 题目描述 给定一个非负整数序列 \(\{a\}\),初始长度为$n$。 有 \(m\) 个操作,有以下两种操作类型: A x:添加操作,表示在序列末尾添加一个数 \(x\),序列的长度 \(n+1\)。 Q l r x:询问操作,你需要找到一个位置 \(p\),满足$x⊕a[p]⊕a[p+1] 阅读全文
posted @ 2020-10-31 21:36 xcxc82 阅读(110) 评论(0) 推荐(0)
摘要:间隙 大致题意 给定一棵$n$个点的带权树,求最长的异或路径。 异或路径指的是指两个结点之间唯一路径上的所有边权的异或 $1≤n≤100000$ 分析 01trie模板 设$f_i$表示从根节点到$i$节点的异或路径,有显然的递推公式:\(f_v = f_{fa}⊕edge.w\) 根据异或的性质, 阅读全文
posted @ 2020-10-31 18:30 xcxc82 阅读(72) 评论(0) 推荐(0)
摘要:Splay 阅读全文
posted @ 2020-09-26 19:04 xcxc82 阅读(312) 评论(0) 推荐(2)
摘要:P4135 作诗 大致题意 给定 \(n\) 个不大于 \(c\) 的正整数$a_1...a_n$ 和 \(m\) 组询问,每次问区间$[l,r]$中有多少个数出现正偶数次。 分析 分块入门题 设$sum[i][j]$为前$i$个块中第$j$个元素出现的个数 $ans[i][j]$为第$i$个块到第 阅读全文
posted @ 2020-09-20 18:22 xcxc82 阅读(108) 评论(0) 推荐(0)
摘要:P2801 教主的魔法 大致题意 给一个长度为$n$的序列$a_i$,有$m$次操作,操作分为两种$:$ 将区间$[l,r]$上的所有数加上$c$ 查询区间$[l,r]$中小于$c$的数的个数 分析 数列分块入门题 对于查询操作,若$l,r$在同一个块内,直接暴力查询 反之,若不在同一个块内,则答案 阅读全文
posted @ 2020-09-19 13:38 xcxc82 阅读(131) 评论(0) 推荐(1)