随笔分类 -  线段树&&树状数组

摘要:emm,ssy说可以直接CDQ分治...%%%但是注意到y是有序的,所以可以直接求一下前缀和就行了. 题干: 代码: 阅读全文
posted @ 2018-11-14 15:39 DukeLv 阅读(204) 评论(0) 推荐(0)
摘要:这个题lba等神犇说可以不用离散化,但是我就是要用。 题干: 代码: 阅读全文
posted @ 2018-10-16 17:20 DukeLv 阅读(148) 评论(0) 推荐(0)
摘要:这个题正向建树比较困难,但是反向建树然后树里维护空格的个数就很简单.就是每次插入第几个空格就行了. 题干: Description Railway tickets were difficult to buy around the Lunar New Year in China, so we must 阅读全文
posted @ 2018-10-15 13:07 DukeLv 阅读(119) 评论(0) 推荐(0)
摘要:这个题的想法很好想,就是进行排序之后直接检查每个点的上下左右是否有黑点就行.但是直接枚举显然不行,那怎么办呢?我们就用树状数组维护扫描线,把每排左右点看成一条线覆盖,然后从下往上扫,遇到下加一,遇到上减一并记录答案.这样用扫描线维护就行了. 题干: 代码: 阅读全文
posted @ 2018-10-08 13:20 DukeLv 阅读(253) 评论(0) 推荐(0)
摘要:现在来填坑,之前落下的知识,现在往回补。之前一直用线段树来顶树状数组和st表,但是跑得慢,写的也慢。。。 单点修改,区间查询: 区间修改,单点查询:(用到了差分思想,注意读入,然后直接查询就是答案) 阅读全文
posted @ 2018-10-05 21:06 DukeLv 阅读(133) 评论(0) 推荐(0)
摘要:这就是一道变得比较奇怪的线段树,维护每个区间的最大值和区间和,然后关键在于每次取根号的话数值下降的特别快,不用几次就都是1了,所以每次暴力单点修改,然后直接找区间最大值,假如区间最大值是1的话,就直接返回就行了。 具体看代码就行了。 题干: 代码: 阅读全文
posted @ 2018-09-18 19:16 DukeLv 阅读(143) 评论(0) 推荐(0)
摘要:就是线段树维护异或和。之前我线段树区间修改down都是修改当前区间,结果debug出不来,改成每次向下了。 题干: 代码: 阅读全文
posted @ 2018-08-25 21:56 DukeLv 阅读(227) 评论(0) 推荐(0)
摘要:啊啊啊,跳题坑死人。抽了一道国集的题,自己瞎编了一个算法,好像过不了而半途而废。转去看题解,发现用二维树状数组维护一下,偏移量我倒是想对了,但是维护的东西和我的完全不一样。还是有很大差距啊。。。 题解链接 吐槽一个事,谁能给我讲讲位运算的优先级? 题干: 我的凉凉代码(都没写完): 正解(不是我写的 阅读全文
posted @ 2018-08-24 21:10 DukeLv 阅读(404) 评论(0) 推荐(0)
摘要:今天肖神给我讲课,讲了一个用指针写的线段树,写起来比数组复杂,但是貌似动态开点操作好像简单一些。之前我也写过用指针的数据结构,所以理解起来不是很难。 直接写代码: 阅读全文
posted @ 2018-08-05 20:51 DukeLv 阅读(428) 评论(0) 推荐(1)
摘要:今天复习了一下树状数组,顺便学了一下如何求逆序对。 首先是树状数组单点修改+区间和,但有一点需要注意,就是getsum函数里是now-=lowbit(now),但是update()里或add()里一定是now += lowbit(now); 然后是区间修改+单点求值,和单点修改有不同,主要是一开始不 阅读全文
posted @ 2018-04-26 23:52 DukeLv 阅读(487) 评论(0) 推荐(0)
摘要:转载: 树状数组,具体的说是 离散化+树状数组。这也是学习树状数组的第一题. 算法的大体流程就是: 1.先对输入的数组离散化,使得各个元素比较接近,而不是离散的, 2.接着,运用树状数组的标准操作来累计数组的逆序数。 算法详细解释: 1.解释为什么要有离散的这么一个过程? 刚开始以为999.999. 阅读全文
posted @ 2018-04-17 21:47 DukeLv 阅读(252) 评论(0) 推荐(0)
摘要:在清北学堂的时候,老师讲了一下,没太搞懂,回来自己理解了一下 *******线段树*******线段树O(log(n))个区间覆盖L~R信息每层最多选两个区间mx区间最大值int n;int a[];int mx[];//o是当前节点编号,当前表示的区间范围//就是用数组实现树,mx代表o区间内最大 阅读全文
posted @ 2018-02-19 21:44 DukeLv 阅读(212) 评论(0) 推荐(0)