树状数组
文章平均质量分 75
信仰..
学无止境
展开
-
Codeforces Round #624 (Div. 3) F. Moving Points(树状数组)
题意:给出直线上若干个不同动点的初始位置和速度,求每两个点之间能达到的最短距离之和。思路:首先我们发现,若x1<x2,并且v1<=v2的话,则两个点之间的距离一定是非递减的,也就是说,这两个之间的最短距离就是他们初始时刻的距离,因此这道题本质上是找到x1<x2并且v1<v2的点对。我们发现其实是一道二维偏序的题。对于该题,我们考虑将点按照初始横坐标排序,通过树状数组,我们能快速找到速度小于当前点的数量,为了求出距离,我们需要额外开一个数组存储信息。当然,由于速度范围较大,..原创 2020-10-17 14:49:08 · 229 阅读 · 0 评论 -
Educational Codeforces Round 41-E-Tufurama(树状数组)
题意:很扯的题意,翻译过来就是给你一个长为n的数组,问你有多少对(i,j)满足i<j && a[i]>=j && a[j]>=i?题解:我们考虑先满足后边的条件,即找到最大的x使得x<j && a[j]>=x,然后q[x-1].push_back(i),我们所存的是a[i]对于答案的贡献,其他类推,然后我们按原数组的顺序...原创 2018-05-01 16:51:53 · 369 阅读 · 0 评论 -
青出于蓝胜于蓝-(树状数组+DFS序)
武当派一共有 nn 人,门派内 nn 人按照武功高低进行排名,武功最高的人排名第 11,次高的人排名第 22,... 武功最低的人排名第 nn。现在我们用武功的排名来给每个人标号,除了祖师爷,每个人都有一个师父,每个人可能有多个徒弟。我们知道,武当派人才辈出,连祖师爷的武功都只能排行到 pp。也就是说徒弟的武功是可能超过师父的,所谓的青出于蓝胜于蓝。请你帮忙计算每个人的所有子弟(包括徒弟的徒弟,徒...原创 2018-03-22 23:00:41 · 470 阅读 · 0 评论 -
Codeforces Round #452 (Div. 2)-F-Letters Removing(树状数组+set+二分)
F. Letters Removingtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputPetya has a string of length n consisting of small and large English letters an...原创 2018-02-08 23:44:20 · 320 阅读 · 0 评论 -
CCPC.2017哈尔滨站-重现赛-A(manacher+树状数组)
题意:给你一个字符串,问你满足 的子串有多少个?题解:一开始感觉什么鬼。。。比赛时也是这样想的,翻译完就丢给队友了2333,在纸上画画可以发现,其实就是求以i为中心和以j为中心的回文串,并且该回文串需要满足i-len[i]+1=i(其中len[i]为以i为中心且半径为len[i]的回文串,并且这里假设i>j原创 2017-11-13 22:45:10 · 454 阅读 · 0 评论 -
Wannafly模拟赛4-C-sum(二进制拆分+树状数组)
题目描述考虑维护一个这样的问题:(1) 给出一个数组A,标号为1~n(2) 修改数组中的一个位置。(3) 询问区间[l,r]中所有子集的位运算and之和mod(109+7)。位运算and即为“pascal中的and”和“C/C++中的&”我们定义集合S={ l , l+1 , ... , r-1 , r}若集合T,T ∩ S = T,则称T为S的子集设f(T)=原创 2017-10-26 15:48:40 · 490 阅读 · 0 评论 -
HDU 5975 Aninteresting game (树状数组)
题意:给你1到n,这个n个数从小到大排列,将这n个数放在相应集合中构成n个集合,每个集合中的数为[i-lowbit(i)+1,i-1]+i有两种查询:(1)集合[a,b]共有多少个数 (2)数字x在几个集合里面题解:一开始是懵逼的,n有1e18这么大,但是有lowbit不免会让我想起树状数组。。。因为对树状数组的原理忘得几乎差不多了,于是又回忆了一发。我们可以将小数列出来看一看原创 2017-10-28 16:28:18 · 392 阅读 · 0 评论 -
BZOJ 1878-HH的项链(离线操作+树状数组)
1878: [SDOI2009]HH的项链Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 4423 Solved: 2201[Submit][Status][Discuss]DescriptionHH有一串由各种漂亮的贝壳组成的项链。HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一段贝壳,思考它们所表达的含原创 2017-08-05 11:34:11 · 382 阅读 · 0 评论 -
POJ 3321-Apple Tree(DFS序+树状数组)
题目链接:http://poj.org/problem?id=3321大致题意:给你一棵树,有n个点,每个点初始时权值为1,有两种操作:(1)C x :若节点x的权值为1,则将其变为0,否则将其变为1(2)Q x :查询点x的所有子节点(包括x)的权值和dfs序模板题,巧妙的利用dfs序的性质DFS序: 就是DFS整棵树依次访问到的结点组成的序列原创 2017-07-24 12:03:58 · 434 阅读 · 0 评论 -
求任意区间里比x小的数的个数(树状数组)
题目变形:http://codeforces.com/contest/811/problem/B题意:对任意区间排序,问你第x个位置上的数的位置是否发生变化在得知n^2能过这个题我的内心是崩溃的.........#include #include #include #include using namespace std; const int max原创 2017-05-28 11:11:35 · 1358 阅读 · 0 评论 -
HDU-2642-Stars(二维树状数组应用)
StarsTime Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/65536 K (Java/Others)Total Submission(s): 1718 Accepted Submission(s): 725Problem DescriptionYifenfei is a romanti原创 2017-02-05 20:01:01 · 447 阅读 · 0 评论 -
51nod-斜率小于0的连线数量(树状数组+离散化)
1107 斜率小于0的连线数量基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注二维平面上N个点之间共有C(n,2)条连线。求这C(n,2)条线中斜率小于0的线的数量。二维平面上的一个点,根据对应的X Y坐标可以表示为(X,Y)。例如:(2,3) (3,4) (1,5) (4,6),其中(1原创 2016-12-20 16:38:51 · 543 阅读 · 0 评论 -
逆序数(树状数组)
树状数组(Binary Indexed Tree(BIT), Fenwick Tree)是一个查询和修改复杂度都为log(n)的数据结构。主要用于查询任意两位之间的所有元素之和,但是每次只能修改一个元素的值;经过简单修改可以在log(n)的复杂度下进行范围修改,但是这时只能查询其中一个元素的值(如果加入多个辅助数组则可以实现区间修改与区间查询)。这种数据结构(算法)并没有C++和Jav原创 2016-09-14 22:09:47 · 497 阅读 · 0 评论