![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树状数组
竹攸_
这个作者很懒,什么都没留下…
展开
-
hdu 6318 Swaps and Inversions(树状数组+离散化)
题目链接题意:有一个长度为n的乱序集合,如果一个子序列为逆序,你就要付x元,或者你可以选择修改一个相邻的数字,你就要付y元,问最少你要付多少钱。(其实你交换一个存在逆序的相邻数字就可以减少一个逆序数)这题不知道是题目的意思太绕还是怎样,我看了很久硬是每看懂题目在讲什么,后来看了一下大佬们的代码和解释才知道,这不就是树状数组的入门题吗。。我。。。英语和语文阅读能力大概是没救了。。。思路:...原创 2018-07-26 11:59:08 · 171 阅读 · 0 评论 -
hdu 1541 start(树状数组入门)
题目题意:给你n个点的坐标,问每个点的左下角有多少个点(不包括自己)。看题目看半天。。虽然知道是树状数组,但是。。。英语渣渣。。T^T。要多读题啊。。思路:数据不大,题目说了输入数据是按x从小到大,然后在按y从小到大,这就符合树状数组的的做法了(一直没看到这个,想了很久要怎么存数据,要不要排序之类的。。太菜了。。),然后每次输入x,y之后先查询其之前有多少个点,然后再加入这个点就可以了...原创 2018-07-26 18:57:03 · 117 阅读 · 0 评论 -
POJ 1195 Mobile phones(二维树状数组)
题目题意:给你一个区间,面积为n*n,在这个区间里进行操作。首先输入0 n,所以区间里的点的范围为0<= x < n,0<= y < n,区间范围内每个点的初始手机都为0。分别有三种操作 1 x y z,在点(x,y)上加上z部手机。2 x1 y1 x2 y2 问区间x1<= x <=x2 , y1 <= y <= y2上一共有多少手机。3 ...原创 2018-07-27 10:27:59 · 154 阅读 · 0 评论 -
POJ 2481 Cows(树状数组)
题目题意:有n只奶牛,有一条草地(一条!!可以看做一条线)然后每只牛有自己喜欢的吃的范围,牛i和牛j,他们最喜欢的范围是[ri,li]和[rj,lj]。如果ri <= rj且lj <= li且li-ri> lj-rj,我们说牛i比牛j强。其实就是你的区间被几个区间包围着并且不相等的时候,就有几只牛比你强壮,问每只牛都有几只牛比其强壮。诶呀呀呀,刚开始看错题目,样例都不知道...原创 2018-07-27 16:25:33 · 148 阅读 · 0 评论 -
POJ 3067 Japan(树状数组)
题目题意:就是东边有n个城市,西边有m个城市,有k条直线公路连接东西两边的城市,问这些公路有多少个交点。之前做了奶牛那题,做这题也算是有思路,瞎搞一下就好了,不过。。忘记初始化。。改了一个多小时也是够够的了。。。好像也可以用二维树状数组做。。反正我不会。。思路:先把公路按东边的城市从大到小排序,如果东边的城市相同则西边的城市也从大到小排序,这样就可以不用去重的那一步啦,然后就是常规树状...原创 2018-07-27 22:55:40 · 146 阅读 · 0 评论 -
POJ 2029 Get Many Persimmon Trees(二维树状数组入门)
题目题意:就是给你一个n*m的矩阵,然后在这个矩阵内添加t个点,最后问一个x*y的矩阵内,最多能框到几个点。思路:这题和手机那题很像,枚举一下每个位置的x*y的矩阵就可以了,其它就常规操作啦。应该可以算是二维树状数组入门题吧。AC代码:#include<iostream>#include<cstring>#include<cstdio>#...原创 2018-07-27 23:44:34 · 150 阅读 · 0 评论 -
多个树状数组 DNA Evolution CodeForces - 828E
题目题意:给你一个DNA串,有两种操作1 a e:把位置a的字符换成字符e2 a b e:问[ a, b ]的区间内eeeeee..(e循环串)与相同的的字符有几个,并输出。看题解,然后自己写,这题做了一下午,原因还是因为自己对于每个位置表示的东西不够熟悉,老是东错西错。。思路:用线段树来保存每个字母在每个区间处于每种循环串位置的数量,node[ 字母种类 ] [ e的长度 ...原创 2018-08-23 19:01:58 · 221 阅读 · 0 评论