金珂拉 @ 2021-08-25 21:15:48
序列操作AC记录
这玩意真的离谱……
题解里面有暴力
但是因为操作4处理两端多余部分和进行split操作的时候依旧搞一层静态区间最小值,所以复杂度显然不可能比线段树好,也没有珂朵莉树在随机数据下的良好特性,而且码量也大了一坨……
by w23c3c3 @ 2021-08-25 21:21:31
哪个 1e5 卡根号
by 金珂拉 @ 2021-08-25 21:24:56
@w23c3c3 当然没卡根号,但是题解里的暴力珂朵莉被卡掉了,所以我就把它优化到了严格的根号以内)
by 樱洛CHANGE @ 2021-08-25 21:49:03
您可以发一篇题解造福一下大众吗
by 樱洛CHANGE @ 2021-08-25 21:49:28
@金珂拉 还有u1s1真的不知道定期重构珂朵莉树是个啥。。。
by 金珂拉 @ 2021-08-29 17:44:42
@樱洛CHANGE 题解满了()
定期重构珂朵莉树……就是正常珂朵莉一样用一个三元组l,r,tag表示某一段区间,把set改链表,然后其他操作不变,块数多了就把珂朵莉树转换成数组之后再清空珂朵莉树,加一个(1,n,0)表示这个数组的1-n区间,然后就接着split就行了)
三元组的split和打标记录都是O1的,所以只要每次发现块的数量大于根号就直接重构就行了()
by Lacrymabre @ 2021-10-06 15:40:47
还有一点不明白的地方
我的操作是定期重构的时候扫一次全棵树,然后对连续相等的块暴力合并。
请问,这样子的复杂度重构的时候是
by peterwuyihong @ 2021-10-12 19:05:47
我敲,还真能这么写
by 某珂学的超OIer @ 2021-10-19 20:36:22
@Raintime1231 不是对的吧,因为树中可能刚好是
by 某珂学的超OIer @ 2021-10-19 20:41:09
@金珂拉 奆佬,可以详细讲一下怎么对数组进行查询吗?
by 金珂拉 @ 2021-10-19 20:57:38
@某珂学的超OIer 链表里从左到右扫先确定在哪些块里,然后和和普通分块一样做