
树状数组
stormjing7
这个作者很懒,什么都没留下…
展开
-
树状数组求逆序对
题目大意:假定给你一段数字序列,数字大小从0 - n-1, 求其中满足(a[i]>a[j]&&i<j)的逆序对的数量 分析:利用树状数组维护一个前缀和数组,对于每个元素,将其所在位置加一,c[i]既是在i之前比a[i]小的数的数量。 代码: #include <bits/stdc++.h> using namespace std; typedef l...原创 2018-08-17 16:37:40 · 213 阅读 · 0 评论 -
二维树状数组
转载出处:https://blog.youkuaiyun.com/cggwz/article/details/78420102 标注红字为精髓 我在前面已经介绍过了树状数组的各种操作,但是你会轻易的发现前面我们介绍的树状数组都是一维的,那既然一维可以,那么会不会有二维的树状数组呢? 答案是肯定的。 那么我今天就来教大家如何实现二维的树状数组。 今天我介绍基本的功能: 对二维数组内某一点加上一个值 求一...转载 2018-07-22 20:22:25 · 278 阅读 · 0 评论 -
ACM-ICPC 2018 徐州赛区网络预赛 H. Ryuji doesn't want to study(树状数组)
ACM-ICPC 2018 徐州赛区网络预赛 H. Ryuji doesn’t want to study 题目 给一个 1e5 序列,有 1e5 次操作,每次操作有两种,1 单点修改,2 查询区间 (l, r) 值, 每个区间 【l, r】值计算过程(L 为区间长度):sum=a[l]×L+a[l+1]×(L−1)+⋯+a[r−1]×2+a[r]sum = a[l] \times L+a[l+1...原创 2019-08-14 21:08:49 · 153 阅读 · 0 评论 -
HDU 6447 YJJ's Salesman(树状数组优化DP + 离散化)
HDU 6447 YJJ’s Salesman 题目 给一个二维数组,从(0,0)走到(1e9, 1e9)。每次只能走右,下,右下,三个方向。其中只有通过右下走到特定给出的点(村庄)时才会获得分值。问最后走到终点最大分值。 分析 很明显的 DP 题目。状态转移题目都给出了。但是 1e9 很明显会爆。 想一下,题目让求最大分值,而最大分值只与特定的点有关。也就是说数组的列上如果没有村庄怎么走都没关系...原创 2019-08-21 18:05:40 · 249 阅读 · 0 评论