随笔分类 -  数据结构-线段树

摘要:爽是不死欲望,是疲倦生活中被别人摸的快感。—— fragrantPIG·Durex·MMM 阅读全文
posted @ 2021-09-14 16:02 Arextre 阅读(48) 评论(0) 推荐(0) 编辑
摘要:两根距离时刻保持相同的扫描线不是队列是什么...... 阅读全文
posted @ 2021-08-31 10:18 Arextre 阅读(141) 评论(1) 推荐(0) 编辑
摘要:转移复杂度太高?那就用线段树。线段树都不行?那就上平衡树。平衡树都不行?请参考 《 Closestianity 教义问答手册》。——《 Closestianity 教典》第[数据丢失]章第[数据丢失]节“关于 DP 的一些疑问” 阅读全文
posted @ 2021-07-29 21:45 Arextre 阅读(86) 评论(0) 推荐(0) 编辑
摘要:树套树启蒙题 阅读全文
posted @ 2021-06-03 17:59 Arextre 阅读(66) 评论(0) 推荐(0) 编辑
摘要:这种 sb 题目描述完全就是拿来坑人的好吧...... 壹、题目描述 传送门 to CF 贰、题解 我们先有一个树套树的做法,很暴力,但是复杂度是 O(nlog2n),空间不知道是否过得去,这里不多说 我也打不来 。 我们考虑用扫描线扫过 x 这一维,对于 \ 阅读全文
posted @ 2021-02-24 22:16 Arextre 阅读(116) 评论(0) 推荐(0) 编辑
摘要:曾经光辉无限的省选题...... 竟然是二刷。 壹、题目 传送门 to LUOGU 贰、题解 先考虑对于单个询问,我们只需要二分答案,然后看一下比这个答案大的数有多少即可。 然后我们将所有询问用整体二分来做,处理到当前值域区间 [l,r],也就相当于我们二分了一个 mid,对于这个 阅读全文
posted @ 2021-02-17 19:02 Arextre 阅读(44) 评论(0) 推荐(0) 编辑
摘要:题目 传送门 题解 题目交代了是“动态直径”,肯定是在线啦,问题在于我们选用什么数据结构维护,以及怎么维护. 比较经典地,对于每个数标上 dfn,然后使用线段树维护。问题是在线段树上如何维护一个区间的点的直径?对于一颗线段树上的区间,它的直径的两个端点必然来源于它的子区间的两条直径的 阅读全文
posted @ 2021-01-05 19:07 Arextre 阅读(123) 评论(0) 推荐(0) 编辑
摘要:题目 传送门 题解 首先搞明白建树的方式:遇到左括号往下走,遇到右括号往回走.现在我们要求这个构造出来的树的直径. 由于每一次都会互换两个括号的位置,所以显然树的形态是不固定的,进而如果我们每次将树构造出来跑树 DP 显然不可取,这样复杂度为 O(qn),对 阅读全文
posted @ 2021-01-03 08:28 Arextre 阅读(126) 评论(1) 推荐(1) 编辑
摘要:题目 传送门 题解 这类题目,不多说可以直接上树剖板子,时间复杂度 O(nlog2n),此处不作过多赘述,毕竟重点不是这个方法。 实际上我们有比树剖的俩 log 更优的解法,但是还是利用线段树。 分析这道题实际要我们干的事是什么: 能够任意改边的颜色; 询问 阅读全文
posted @ 2020-08-24 11:44 Arextre 阅读(211) 评论(0) 推荐(0) 编辑
摘要:题目 传送门 题解 记总物品数为 n,只能买 m 个使得两人喜欢的分别至少有 k 个。 记 sz1 为两人都喜欢的商品数,sz2,sz3 分别为 A,B 各自喜欢的商品数,首先我们可以预处理出来这仨东西: inline bool cmp(const i 阅读全文
posted @ 2020-07-20 08:34 Arextre 阅读(174) 评论(0) 推荐(0) 编辑
摘要:题目 原题目-CF712E 传送门 考场题目 HearthStone Description “低保不是挺轻松的吗?” HS 需要智商,需要知己知彼,需要根据场面情况和对手策略进行针对性的概率分析和分类讨论。zzh 不擅长这些,看着hzy 又一次低保,便向 hzy 请教经验。 “每次你与对手博弈,获 阅读全文
posted @ 2020-06-18 22:15 Arextre 阅读(208) 评论(0) 推荐(0) 编辑
摘要:题目 传送门 题解 膜拜机房大佬 JZM 当场切掉。 30pts 方法 首先,对于 n100,1liri100 的数据,我们显然可以暴力,能打出以下代码便可以得到 30pts 了。 const int MAXN=100; co 阅读全文
posted @ 2020-06-13 14:36 Arextre 阅读(191) 评论(0) 推荐(0) 编辑
摘要:[TOC] 题目 "传送门" 题解 下面称 最大值 为异或之后的最大值。 首先,我们可以将询问拆成俩部分: 从 LR 的商店的特殊商品的最大值; 最近 D 天从 LR 的商店的普通商店的最大值; 考虑分别建俩棵树: 第一颗:可持久化 trie 树,解 阅读全文
posted @ 2020-05-18 22:01 Arextre 阅读(136) 评论(0) 推荐(0) 编辑
摘要:题目 "传送门" 题解 首先考虑,如果我们没有这个区间修改怎么做? 只需要用线段树的思想,每个区间维护一个线性基,询问的时候合并线性基即可。 至于如何合并,其实暴力就可以了,具体实现如同: 似乎是十分简单的。 然而,这道题偏偏要给你这个修改。 那么我们考虑如何让这个修改影响尽量方便处理,这个时候我们 阅读全文
posted @ 2020-05-15 11:40 Arextre 阅读(201) 评论(0) 推荐(0) 编辑
摘要:题目 "传送门" 题解 似乎是一道线段树分治的板题,但是同时也使用了线性基。 考虑将时间建一棵线段树。 再者,一个区间里面,存在一个 x 和存在 nx 是没有区别的,所以我们只需要处理出一个 x 所存在的最大的一个区间,再在这个时间区间里插入 x 即可,最后用一个 $dfs 阅读全文
posted @ 2020-05-14 15:41 Arextre 阅读(204) 评论(0) 推荐(0) 编辑
摘要:这道题题目简洁新颖,吸引读者阅读兴趣... 注:更完整的版本在这里。 题目 原题目 点这里 简要题目 需要你维护长度为n的序列并支持下列操作: 区间加法; 区间赋值; 区间每个 ai 变成 max(ait,0); 单点询问值 单点询问历史最大值 n,m500000 阅读全文
posted @ 2020-01-19 21:29 Arextre 阅读(363) 评论(0) 推荐(0) 编辑
摘要:题目 在 N×M 的网格中,有 P 个矩形建筑,求一个最大边长的正方形,使得网格中能找到一个放置正方形的地方,不会与建筑重合。 保证 N,M106,P40000。 个人思路(错解) 对于一个建筑 (a,b) ,我们扩展出三个点 $(a,b+1),(a+1 阅读全文
posted @ 2020-01-19 18:40 Arextre 阅读(156) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示