摘要: 对于数的范围比较小,我们可以这样来求解逆序对。 树状数组b[val]表示的是val在数组中出现的次数。 我们倒序扫描原数组a,对于位置i,由于树状数组里面保存的是val出现的次数,我们先用树状数组求出当前树状数组中比a[i]这个值小的元素的个数,由于是倒序扫描,之前加入树状数组中的数的位置都在i后面 阅读全文
posted @ 2019-03-16 18:50 TLE自动机 阅读(1634) 评论(0) 推荐(0) 编辑
摘要: 树状数组(Binary Indexed Trees)其代码简洁,第一次遇见就被惊艳到了。 网上讲解也有很多,我就简单总结一下。 树状数组有如下几个基本操作。 首先要了解lowbit运算,二进制分解下最小的2的次幂。 1.查询前缀和 2.单点增加 树状数组的初始化: 阅读全文
posted @ 2019-03-16 18:26 TLE自动机 阅读(1137) 评论(1) 推荐(3) 编辑
摘要: 题目链接 https://vjudge.net/problem/UVALive-3905 第一次学到这个。对于每一颗流星,我们求出它在矩形框内待的时间段 L~R,把L和R按照不同的类型加入结构体。我们先按照时间从小到大排序,然后逐个扫描,遇到左端点L说明这个时刻流星已进入矩形框,个数加1,遇到右端点 阅读全文
posted @ 2019-03-16 10:29 TLE自动机 阅读(194) 评论(0) 推荐(0) 编辑