dyllalala

导航

[那些你所不知道的鬼畜写法]数据结构小探

我有种要出系列的节奏?

这次记一下我所遇到过的数据结构一些神奇的维护方法:  (只是记一下而已,也许会仔细讲讲)

1.差分大法

  出自 zkw 大神 《统计的力量——线段树全接触》,运用面虽然不广,但每次用出来威力都是相当大

  机智的减少你的代码量

2.保存操作而不是值

  出自 clj 大神 在 WC 上对可追溯数据结构的论文(跪跪跪跪),虽然 OI 中应该(?)不会用到吗,但是思路还是很好的

  只保存操作在很多时候效果非凡,以时间为权值维护一棵 splay 或是别的支持区间操作的平衡树,然后不但支持可持久化,而且在过去修改也不要紧嘛

  另外,你从此和离散化说再见了喵~

  代码看我上一篇博客 http://www.cnblogs.com/dyllalala/p/3903364.html 吧

3.标记永久化

  这是适用于线段树的写法,但是用好的话也是有奇效,从此不用担心多标记,从此不写 pushdown() 甚至连 maintain() 都不写了?

  但是如果你的 splay 什么的不是分裂合并式的话……旋转时把永久化的标记转移一下也不要紧嘛~ 不过你的旋转和插入都会很蛋疼,很蛋疼……

4.vEB

  具体看算导,不过真心没什么用。它的思路是很好的,我们也可以如法炮制的搞出一个深度为 O(lglgn) 的伪线段树出来

  修改与查询代码量似乎也就是线段树的两倍。但是蛋疼的建树,蛋疼的空间,额,你确定你真的想去写?

5.待续

  ……

posted on 2014-08-10 20:56  dyllalala  阅读(506)  评论(4编辑  收藏  举报