树状数组
拔光祖国小草
存放一下做的题。
展开
-
POJ1990 (树状数组)
对于树状数组的理解不透+不会转化题解:显然是要按照v排序的,那么首先在On情况下是可以完成max(vi,vj)的操作,对于某个牛i,我们只需考虑i之前的,那么i之前的牛我们需要知道每只牛j ,abs(dis(i) - dis(j)),去掉绝对值后,我们只需要知道所有dis(i) < dis(j)的牛的x的和 sum1,dis(j) > dis(i)的我们可以用总距离 - sum1 ,以及知道#inc原创 2017-11-29 00:21:56 · 305 阅读 · 0 评论 -
树状数组+二维树状数组的再学习
对于树状数组的操作理解的太浅以及学的不够全面关于一维树状数组的区间修改+区间查询: 引入delta数组 delta[i]表示区间 [i, n] 的共同增量 于是修改区间 [l, r] 时修改 delta[l] 和 delta[r + 1] 即可 查询的时候是查询区间 [l, r] 的和 即sum[r] - sum[l - 1] sum[i] = a[1]+...+a[i] + delta[1]*原创 2017-11-16 20:28:36 · 176 阅读 · 0 评论 -
codeforces 610D(树状数组+离散化)
题意:给你n条只平行于x轴或者y轴的线段,问有多少个整数点在线段上。 题解:正好前几天碰到一个几乎一模一样的题,实际上只要处理有多少个交点,将平行于x轴的退化为一个点,将横竖所有y坐标离散,对于平行于x轴的点左端点进行+1,右端点-1的操作,垂直于y轴的便进行区间查询,(其实相当于从无线远向右扫),那么就是树状数组维护一下 坑就是这题还要处理重叠和相交的线段,心累 补:后来看网上题解才发...原创 2018-04-27 23:24:33 · 234 阅读 · 0 评论