随笔分类 -  数据结构

摘要:前两篇讲述了SPLAY模板操作,这一篇稍微介绍一下SPLAY的实际应用 (其实只有一道题,因为本蒟蒻就写了这一个) 例:bzoj 1014火星人prefix 由于本蒟蒻不会后缀数组,所以题目中给的提示完全没看懂 不过并不影响我们做这道题,因为正解好像不用后缀数组... 首先,如果这题没有插入和修改, 阅读全文
posted @ 2018-09-17 20:35 lleozhang 阅读(164) 评论(0) 推荐(0)
摘要:能够看到,上一篇的代码中有一段叫做find我没有提到,感觉起来也没有什么用,那么他的存在意义是什么呢? 接下来我们来填一下这个坑 回到我们的主题:NOI 2005维修数列 我们刚刚讨论了区间翻转的操作方法,接下来我们来考虑区间插入和区间删除的方法。 有了上一篇的铺垫,大家应该能看都,这两个操作方法是 阅读全文
posted @ 2018-09-15 16:45 lleozhang 阅读(169) 评论(0) 推荐(0)
摘要:写了两周数据结构,感觉要死掉了,赶紧总结一下,要不都没学明白。 SPLAY专题: 例:NOI2005 维修数列 典型的SPLAY问题,而且综合了SPLAY常见的所有操作,特别适合新手入门学习(比如我这种蒟蒻) 题目要求很多,我们一步一步来分析 首先,区间翻转是SPLAY一个很基础的操作,我们以他为基 阅读全文
posted @ 2018-09-15 16:25 lleozhang 阅读(153) 评论(0) 推荐(0)
摘要:treap裸题... 还是要写一下,毕竟是第一个成功用treap维护的题,做个纪念吧 这题的中心思想其实很简单,就是插入+删除+查询排名为x的数 但是重点是,全体的标记怎么处理? 首先有一个很显然的思想,就是在修改全体的时候,我们不去修改全体的值,而是去修改界限 但这样做有一个很显然的问题:界限修改 阅读全文
posted @ 2018-09-15 14:15 lleozhang 阅读(105) 评论(0) 推荐(0)
摘要:这滞胀题调了两天了... 好愚蠢的错误啊... 其实这道题思维比较简单,就是利用treap进行维护(有人说线段树好写,表示treap真心很模板) 就是枚举所有长度为k的区间,查出中位数,计算代价即可。 (根据绝对值不等式的几何意义,中位数一定是最优解) 而维护长度为k的区间也很简单,就是首先把前k个 阅读全文
posted @ 2018-09-15 14:14 lleozhang 阅读(144) 评论(0) 推荐(0)
摘要:好玄学的线段树啊... 调了半天的题,最后发现是传参的数据类型传错了(long long 传成了int),结果RE3小时... 说下思路吧... 其实主题思想很简单,就是把一个二进制数作为一个序列建立一棵线段树,然后各种维护即可 当然这样会TLE或MLE之类的 所以我们采用其他的策略:压位!!! 这 阅读全文
posted @ 2018-09-06 16:07 lleozhang 阅读(172) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-09-03 20:29 lleozhang 阅读(2) 评论(0) 推荐(0)
摘要:学习扫描线ing... 玄学的东西... 扫描线其实就是用一条假想的线去扫描一堆矩形,借以求出他们的面积或周长(这一篇是面积,下一篇是周长) 扫描线求面积的主要思想就是对一个二维的矩形的某一维上建立一棵线段树,然后把另一维按高度排序,从下向上枚举即可。 主题思想其他博客说的很明白了,这里重点记录一下 阅读全文
posted @ 2018-08-29 20:26 lleozhang 阅读(167) 评论(0) 推荐(0)

levels of contents