
数据结构-树状数组
lunch__
这个作者很懒,什么都没留下…
展开
-
树状数组套主席树[区间动态第k大]
经过我不断地调试(抄代码) 终于过了这个题目=-= 首先由主席树为什么不能维护动态第K大呢 因为静态主席树所有[1, i]的区间在询问前就已经确定了 如果修改了一个位置的值 那么后面所有的区间都要修改 时间复杂度就变成了O(n2logn)O(n2logn)O(n^2logn) 是无法接受的 考虑用更灵活的数据结构而不是数组来维护修改 既然是前缀和当然就选择树状数组(线段树可能也可...原创 2018-07-11 14:31:18 · 638 阅读 · 0 评论 -
CDQ分治 以树状数组模板为例
这两天状态极差 网上cdqcdqcdq分治有关的东西也写得不太容易理解 导致我对这个不是很复杂的东西学了很久 内心mmp cdqcdqcdq分治主要是用来代替一些高级复杂的数据结构, 并且常数比较小 但是必须离线操作。 一般的分治分出去的问题都是各自独立然后独自解决再往上合并 但是cdq分治是用前一个问题来解决后面的问题 这是cdqcdqcdq分治与一般的分治最大的不同借用__stdca...原创 2018-07-23 19:35:26 · 497 阅读 · 1 评论 -
陌上花开 bzoj3262 CDQ分治套树状数组 三维偏序问题
这道题应该是学CDQ分治的必做题也是CDQ分治一个很好的运用 三维偏序问题 题意是给你nnn个三元组(x,y,z)(x,y,z)(x, y, z) 对于每个三元组iii统计满足xj<=xi,yj<=yi,zj<=zixj<=xi,yj<=yi,zj&amp原创 2018-07-23 20:45:38 · 235 阅读 · 0 评论 -
[luogu1393] 动态逆序对 CDQ分治 树状数组 三维偏序
mdzz 这个傻逼题看了半天晚上的题解看不懂发现自己陷入思维定式了没有去想问题 还是要吐槽一句家里效率真低...现在来看这个题 发现删除操作有点棘手 那么根据正难则反的思想, 我们换删除为插入, 对于一个数第iii个被删除, 我们可以看作它第m+2−im+2−im +2 - i个加入, 第一个加入的就是没有被删除的数。因为往一个数列中插入一个数那么逆序对数要么不变, 要么增加, 所以最后我们求...原创 2018-07-28 21:13:10 · 155 阅读 · 0 评论 -
ARC 101D 二分答案 树状数组 转化
题目链接这个题鸽的有点久了.. CheckmateCheckmateCheckmate过生日那天的题 看了网上的题解看懂的首先区间数目太多了肯定是求不出来的 我们首先二分最后的答案midmidmid我们把大于等于这个midmidmid的数设为111,小于等于的设为−1−1-1记录前缀和 每次加入一个数 我们查询在它之前前缀和小于等于它的个数像树状数组求逆序对那样 那么就可以得到...原创 2018-09-16 22:36:29 · 251 阅读 · 0 评论 -
Atcoder Regular Contest 101 F Robots and Exits 动态规划 树状数组 组合计数相关
题意在数轴上有nnn个机器人和mmm个出口, 可以把所有机器人同时向左或者向右移动一个单位,一个机器人碰到出口就会离开,问有多少种方案数把让所有机器人都从出口出去,两个方案不同当且仅当存在一个机器人从不同的出口出去,答案对1e9+71e9 + 71e9+7取模首先一个可以把初始在出口上和第一个出口左边和最后一个出口右边的机器人删去,因为他们出去的出口是确定了的删去之后我们发现还是没有什么...原创 2018-09-19 12:21:15 · 444 阅读 · 0 评论