随笔分类 - 数据结构
摘要:珂朵莉树 珂朵莉树其实不是树,只是一个借助平衡树实现的数据结构,主要是对于有区间赋值的数据结构题,可以用很暴力的代码很高效地完成任务,当然这是建立在数据随机的基础上的。 即使数据不是随机的,写一个珂朵莉树用来当做暴力也是很划算的。 珂朵莉树可以使用 来实现,~~并且代码量极小,不知道为什么大家都要写
阅读全文
摘要:You Are Given a Tree Description A tree is an undirected graph with exactly one simple path between each pair of vertices. We call a set of simple pat
阅读全文
摘要:寝室管理 Description T64有一个好朋友,叫T128。T128是寄宿生,并且最近被老师叫过去当宿管了。 宿管可不是一件很好做的工作,碰巧T128有一个工作上的问题想请T64帮忙解决。T128的寝室条件不是很好,所以没有很多钱来装修。礼间寝室仅由n 1条双向道路连接,而且任意两间寝室之间都
阅读全文
摘要:动态规划 $dp$早就已经是经常用到的算法了,于是老师上课主要都在讲题。今天讲的主要是三类$dp$:树形$dp$,计数$dp$,$dp$套$dp$。其中计数$dp$是我很不熟的,$dp$套$dp$是我没接触过,树形$dp$难的题我也不是很会做,所以感觉还是收获了不少,于是$dp$的总结将主要会以题解
阅读全文
摘要:Tree nesting (CF762F) Description 有两个树 S、T,问 S 中有多少个互不相同的连通子图与 T 同构。由于答案 可能会很大,请输出答案模 1000000007 后的值。 两个连通子图 P、Q 称为互不相同的,当且仅当存在一个点 v∈S,使得 v∈P 与 v∈Q 恰好
阅读全文
摘要:Andrew and Chemistry Description During the chemistry lesson Andrew learned that the saturated hydrocarbons (alkanes) enter into radical chlorination
阅读全文
摘要:LCA Description 给出一个n个节点的有根树(编号为0到n 1,根节点为0)。一个点的深度定义为这个节点到根 的距离+1。 设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公共祖先。 有q次询问,每次询问给出l r z,求sigma_{l using namespace s
阅读全文
摘要:异或粽子 Description 小粽是一个喜欢吃粽子的好孩子。今天她在家里自己做起了粽子。 小粽面前有 n 种互不相同的粽子馅儿,小粽将它们摆放为了一排,并从左至右编号为 1 到 n。第 i 种馅儿具有一个非负整数的属性值 ai。每种馅儿的数量都足够多,即小粽不 会因为缺少原料而做不出想要的粽子。
阅读全文
摘要:炸弹(SNOI2017) Description 在一条直线上有 N 个炸弹,每个炸弹的坐标是 Xi,爆炸半径是 Ri,当一个炸弹爆炸 时,如果另一个炸弹所在位置 Xj 满足: Xi−Ri≤Xj≤Xi+Ri,那么,该炸弹也会被引爆。 现在,请你帮忙计算一下,先把第 i 个炸弹引爆,将引爆多少个炸弹呢
阅读全文
摘要:基础莫队和带修莫队可以看这个 "课件" 。 回滚莫队 基础的莫队算法相信大家都已经熟悉了,而我们知道,莫队算法的关键就在于如何进行区间的转移,这就可能涉及到很多的细节。有一类普通莫队不可解的问题就是在转移区间过程中,可能出现删点或加点操作 其中之一 无法实现的问题。那么我们就来探讨如何利用特殊的莫队
阅读全文
摘要:点分治 分治思想 点分治是一种用于处理静态树上路径统计问题的算法,其核心原理还是基于分治思想。 我们不妨对这类树上静态路径统计问题抽象化,例如: 给定一个棵无根树,求满足要求$P$的路径有几条。 我们可以使用分治算法求解本题,对于无根树,我们指定一个节点为根,显然,这样的路径可以归为两类: $1.$
阅读全文
摘要:序列 Description 给定长度为n的序列:a1,a2,…,an,记为a[1:n]。 类似地,a[l:r](1≤l≤r≤N)是指序列:al,al+1,…,ar 1,ar。若1≤l≤s≤t≤r≤n,则称a[s:t]是a[l:r]的子序列。 现在有q个询问,每个询问给定两个数l和r,1≤l≤r≤n
阅读全文
摘要:磁力块 Description 在一片广袤无垠的原野上,散落着N 块磁石。每个磁石的性质可以用一个五元组 (x,y,m,p,r)描述,其中x,y 表示其坐标,m 是磁石的质量,p 是磁力,r 是吸引半径。若磁石 A 与磁石B 的距离不大于磁石A 的吸引半径,并且磁石B 的质量不大于磁石A 的磁力,那
阅读全文
摘要:蒲公英 Description 在乡下的小路旁种着许多蒲公英,而我们的问题正是与这些蒲公英有关。 为了简化起见,我们把所有的蒲公英看成一个长度为n的序列(a1,a2,...,ai,...,an) ,其中 ai 为一个正整数,表示第i棵蒲公英的种类编号。 而每次询问一个区间[l,r],你需要回答区间里
阅读全文
摘要:线段树合并 对于一类问题中,假如我们有若干棵权值线段树,它们都维护相同的值域区间$[1,n]$,我们希望能够将这些线段树对应区间的关键值进行相加,同时继续维护区间最大值/最小值等信息,这就需要用到线段树合并算法。 一般来说,我们会用如下的方式来实现线段树合并: 我们用两个指针$p,q$分别从两个线段
阅读全文
摘要:入门看这边 "『线段树 Segment Tree』" 。 扫描线 扫描线是一种解决一类平面内统计问题的算法,通常会借助线段树来实现,我们通过一道例题来引入这个算法。 Atlantis Description There are several ancient Greek texts that con
阅读全文
摘要:并查集 并查集是一种可以动态地维护若干个不重叠的集合,并支持查询和合并的数据结构。 具体地说,并查集支持以下两种操作: $1.$ 查询某一个元素属于哪个集合 $2. $ 把两个集合合并为一个大集合 查询操作 我们可以用代表元法来查询集合。也就是说,对于每一个集合,我们指定一个元素为这个集合的代表元,
阅读全文

数据结构总结第二篇
数据结构总结第一篇
LCA和RMQ问题总结
浙公网安备 33010602011771号