随笔分类 -  线段树

摘要:数据结构复习1 线段树、主席树、平衡树、树链剖分 update【2018.7.23】 我放弃指针版的了它欺负我呜呜呜 线段树 标记 多个标记考虑优先级 满足区间加法就可以用线段树 主席树 细节: x和y是节点编号,所以是root[i]不是i 每次复制原来的节点,再新建 平衡树 Treap 满足平衡树 阅读全文
posted @ 2018-07-21 17:54 Candy? 阅读(659) 评论(0) 推荐(1) 编辑
摘要:CF719E. Sasha and Array 题意: 对长度为 n 的数列进行 m 次操作, 操作为: 1. a[l..r] 每一项都加一个常数 C, 其中 0 ≤ C ≤ 10^9 2. 求 F[a[l]]+F[a[l+1]]+...F[a[r]] mod 1e9+7 的余数 矩阵快速幂求斐波那 阅读全文
posted @ 2018-07-16 20:16 Candy? 阅读(388) 评论(0) 推荐(1) 编辑
摘要:"CF798E. Mike and code of a permutation" 题意: 排列p,编码了一个序列a。对于每个i,找到第一个$p_j p_i$并且未被标记的j,标记这个j并$a[i]=j$。给出a求一个可行的p,保证有解。$n \le 500000$ "官方题解很详细" 令$b(i) 阅读全文
posted @ 2017-04-28 20:15 Candy? 阅读(1021) 评论(0) 推荐(1) 编辑
摘要:"4869: [Shoi2017]相逢是问候" 题意:一个序列,支持区间$a_i \leftarrow c^{a_i}$,区间求和。在模p意义下。 类似于开根操作,每次取phi在log次后就不变了。 不互质怎么办? 我才知道, $$ n^x \equiv n^{x \mod \varphi(p)\ 阅读全文
posted @ 2017-04-26 21:44 Candy? 阅读(457) 评论(0) 推荐(0) 编辑
摘要:"4025: 二分图" 题意:加入边,删除边,查询当前图是否为二分图 本来想练lct,然后发现了线段树分治的做法,感觉好厉害。 lct做法的核心就是维护删除时间的最大生成树 首先口胡一个分块做法,和hnoi2016第一题类似的偏序关系,一样做。 线段树分治 数据结构题中如果使用 对时间cdq分治 , 阅读全文
posted @ 2017-04-16 18:59 Candy? 阅读(1259) 评论(0) 推荐(1) 编辑
摘要:"[Sdoi2017]相关分析" 题意:沙茶线段树 md其实我考场上还剩一个多小时写了40分 其实当时写正解也可以吧1h也就写完了不过还要拍一下 正解代码比40分短2333 cpp include include include include include using namespace std 阅读全文
posted @ 2017-04-12 20:45 Candy? 阅读(598) 评论(0) 推荐(0) 编辑
摘要:"[Sdoi2017]树点涂色" 题意:一棵有根树,支持x到根染成新颜色,求x到y颜色数,求x子树里点到根颜色数最大值 考场发现这个信息是可减的,但是没想到lct 特意设计成lct的形式! 如何求颜色数? 维护一个点和父亲的颜色是否一样,不一样为1,就是前缀和。 考虑相邻 的思想和那道“水位线”有点 阅读全文
posted @ 2017-04-12 16:10 Candy? 阅读(347) 评论(0) 推荐(0) 编辑
摘要:HEOI2016 题解 Q:为什么要在sdoi前做去年的heoi题 A:我省选药丸 http://cogs.pro/cogs/problem/index.php?key=heoi2016 D1T1 树 树剖直接做 或者操作逆序,并查集维护自己和祖先中第一个打标记的点, 注意1号点本身有标记,mark 阅读全文
posted @ 2017-04-06 21:29 Candy? 阅读(501) 评论(0) 推荐(0) 编辑
摘要:"UOJ 77. A+B Problem" 题意:自己看 接触过线段树优化建图后思路不难想,细节要处理好 乱建图无果后想到最小割 白色和黑色只能选一个,割掉一个就行了 之前选白色必须额外割掉一个p[i],i向i+n连p[i],然后i+n向之前点连INF就行了 向一段区间连边?果断线段树优化 等等,还 阅读全文
posted @ 2017-03-29 21:47 Candy? 阅读(689) 评论(0) 推荐(0) 编辑
摘要:"4276: [ONTAK2015]Bajtman i Okrągły Robin" 题意:$n \le 5000$个区间$l,r\le 5000$,每个区间可以选一个点得到val[i]的价值,每个点最多选1次,求最大价值 有个显然的$n^2$条边的费用流建图(二分图最大权匹配),每个区间一个点连( 阅读全文
posted @ 2017-03-29 21:45 Candy? 阅读(761) 评论(0) 推荐(0) 编辑
摘要:题意: 一张图,删除边,求两点之间的割边数量。保证任意时刻图连通 任求一棵生成树,只有树边可能是割边 时间倒流,加入一条边,就是两点路径上的边都不可能是割边,区间覆盖... 然后本题需要把边哈希一下,手写哈希比map快很多 貌似还有一种不用树剖的做法,不管了 阅读全文
posted @ 2017-03-21 23:28 Candy? 阅读(434) 评论(0) 推荐(1) 编辑
摘要:题意: 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 操作 3 :询问某个节点 x 到根的路径中所有点的点权和。 显然树链剖分可做,但我是来练欧拉序列的 和splay维护一样了 其实没大有意义....如果树形态不改变人家树链剖分本 阅读全文
posted @ 2017-03-20 21:37 Candy? 阅读(536) 评论(0) 推荐(0) 编辑
摘要:【前言】 作为一个什么数据结构都不会只会CDQ分治和分块的蒟蒻,面对区间加&区间求和这么难的问题,怎么可能会写线段树呢 于是,用CDQ分治解决区间加&区间求和这篇习作应运而生 【Part.I】区间加&区间求和的数据结构做法 【一】线段树 裸题... 1141ms #include <iostream 阅读全文
posted @ 2017-03-17 23:51 Candy? 阅读(591) 评论(0) 推荐(0) 编辑
摘要:传送门 题意: 一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2],其中a,b从0开始标号,除法取下整。给你一个 长度为n的序列s。回答Q个这样的询问:s的左端点在[a,b]之间,右端点在[c,d]之间的子序列中,最大的中位数。 我会使用一些方式强制你在线。 最后一句话太可怕了$Q 阅读全文
posted @ 2017-03-02 21:33 Candy? 阅读(465) 评论(0) 推荐(0) 编辑
摘要:传送门 题意:转换成斜率然后维护区间的上升序列(从区间第一个数开始的单调上升序列) 区间保存这个区间的最长序列的长度$ls$和最大值$mx$ 如何合并两个区间信息? 左区间一定选择,右区间递归寻找第一个大于左区间最大值$v$的位置 具体来看,如果右区间的左最大值$<v$那么左面不可能选递归右面 否则 阅读全文
posted @ 2017-03-02 14:25 Candy? 阅读(372) 评论(0) 推荐(0) 编辑
摘要:于是我拿合并返回节点的线段树(我也不知道应该叫什么名)水了一下$GSS1$ 比$NOIp$之前写的不知道高到哪里去了,并且只用了$\frac{1}{3}$的时间 阅读全文
posted @ 2017-03-02 12:13 Candy? 阅读(207) 评论(0) 推荐(0) 编辑
摘要:可恶两个标记传反顺序了一直到现在.... 睡觉了睡觉了 这是我写过最漂亮的线段树 [补题解] 想法很简单的线段树,同时维护0,1两个信息 因为要求最长0,1序列所以要维护最长,从左开始最长,从右开始最长 然后为了转移还要维护一个区间长度(该死一开始没维护这个长度后来有的地方加上有的地方没加然后一堆b 阅读全文
posted @ 2017-03-02 00:24 Candy? 阅读(220) 评论(0) 推荐(0) 编辑
摘要:传送门 题意: 操作1:找长为$len$的空区间并填满,没有输出$0$ 操作2:将$[l,r]$之间的区间置空 我真是太弱了这种线段树还写了一个半小时,中间为了查错手动模拟了$30min$线段树操作,然后发现$zz$的寻找时没有单独判断跨过中间的情况,自以为看一下$t[x].pos$就可以了... 阅读全文
posted @ 2017-03-01 20:08 Candy? 阅读(238) 评论(0) 推荐(0) 编辑
摘要:Description 在这个问题中,给定一个字符串S,与一个整数K,定义S的子串T=S(i, j)是关于第K位的识别子串,满足以下两个条件: 1、i≤K≤j。 2、子串T只在S中出现过一次。 例如,S="banana",K=5,则关于第K位的识别子串有"nana","anan","anana"," 阅读全文
posted @ 2017-02-09 22:46 Candy? 阅读(845) 评论(2) 推荐(0) 编辑
摘要:Pinball xfause (命题人) 基准时间限制:1 秒 空间限制:262144 KB 分值: 20 Pinball xfause (命题人) 基准时间限制:1 秒 空间限制:262144 KB 分值: 20 Pinball xfause (命题人) xfause (命题人) 基准时间限制:1 阅读全文
posted @ 2017-02-04 23:15 Candy? 阅读(222) 评论(0) 推荐(0) 编辑