摘要: 题目描述 题解: 看到网上几乎全是树套树, 我就写了个整体二分。 其中操作1,2,3一般整体二分都能做到。 对于前驱,我们只需要在线段树中多维护区间最大值即可; 对于后继…… 通通取反后再跑一遍查询前驱即可。 然后迷之卡空间。 最后迷之卡过。 代码: 阅读全文
posted @ 2018-12-31 09:52 LiGuanlin 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: 修改=删除+插入。 具体实现时保证先删除后插入。 就是对于某一位状态为插入->删除->插入->删除->……->插入。 而不是插入->插入->删除->……->插入->删除。 不然这个无脑错误会让普通线段树挂掉的。 代码: 阅读全文
posted @ 2018-12-31 09:44 LiGuanlin 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: 看不懂样例的dalao看这里: 每个位置加入一个数c指的是插入,一个位置上可以有很多数。 整体二分。 将修改和询问放在一起,然后二分值域,每次有询问时判断$k$和$sum[l,r]$的大小。 最后保证$[l,l]$时$k$减成$0$即可。 代码: 阅读全文
posted @ 2018-12-31 09:40 LiGuanlin 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: 考虑到答案具有单调性,我们将其放入二维树状数组/二维线段树即可。 代码: 阅读全文
posted @ 2018-12-31 09:26 LiGuanlin 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: 第一道整体二分。 如果只有一个询问,我们可以二分答案,然后O(n)验证; 对于多种询问而且不强制在线,我们就可以使用整体二分。 整体二分的精髓是,先想一个二分暴力,然后把所有二分过程放在一起。 还有,整体二分中,分的是值域。 对于本题直接二分值域,然后将前$mid$个操作扔到树状数 阅读全文
posted @ 2018-12-31 09:23 LiGuanlin 阅读(99) 评论(0) 推荐(0) 编辑