随笔分类 -  数据结构-树状数组

摘要:根据树状数组的“区间修改,单点查询”我们知道用差分思想维护的树状数组 b , b[i] 的前缀和就是原数组 a[x] 增加的值,那么序列 a 的前缀和 a[1~x] 整体增加的值就是区间[1~x]的增加的值 原理不写了,直接写方法 在本题中,我们可以增加一个树状数组,用于维护 i b[i] 的 前缀 阅读全文
posted @ 2020-03-04 16:26 Pecoz 阅读(133) 评论(0) 推荐(0)
摘要:主要涉及二维树状数组查询和修改 直接看代码: 阅读全文
posted @ 2020-03-04 11:23 Pecoz 阅读(124) 评论(0) 推荐(0)
摘要:"原题" 根据题意 后加入的星星的纵坐标一定比前一个大或相等,所以在它之前所有横坐标小于等于它的星星一定在它的左下方。 注意数据范围! AC代码: 阅读全文
posted @ 2020-03-04 00:42 Pecoz 阅读(119) 评论(0) 推荐(0)
摘要:"原题" 逆序对定义: 对于一个序列 a,若 i a[j],则称 a[i] 与 a[j] 构成逆序对 如何使用树状数组求序列逆序对个数: 任意给定一个集合 a,如果 用 c[val] 保存数值 val 在集合 a 中出现的次数 ,那么数组 c 在 [l,r] 上的区间和就表示集合 a 在范围 [l, 阅读全文
posted @ 2020-03-03 20:21 Pecoz 阅读(121) 评论(0) 推荐(0)
摘要:"原题" 该题涉及树状数组又一串操作: ① 区间修改 运用差分的思想,我们新建了一个数组b,初始化为零,对于每个指令"C l r d",我们只需将其转化为以下操作: 1.把b[l]加上d 2.再把b[r+1]减去d 做了这题,发现自己代码能力好差,找bug找了好久。 这题用了内联函数,发现也没快多少 阅读全文
posted @ 2020-03-02 18:40 Pecoz 阅读(169) 评论(0) 推荐(0)
摘要:"原题" 这是一道基于树状数组基本操作的板子题。 本题涉及到树状数组几个基本操作: ① 单点查询 ② 单点修改 阅读全文
posted @ 2020-03-02 17:25 Pecoz 阅读(110) 评论(0) 推荐(0)