随笔分类 - 数据结构--树状数组
摘要:题目链接:https://ac.nowcoder.com/acm/contest/549/H 题意:给一个柱状图,包括每个矩阵的宽度和高度,求能组成的最大矩阵的面积。 思路:显然最大矩阵的高一定为n个矩阵中的一个矩阵的高,所以不访用单调栈求出每个矩阵左边、右边第一个高度小于该矩阵的下标。然后用树状数
        阅读全文
                
摘要:题目链接:https://vjudge.net/problem/POJ-3321 题意:给一个普通树(不是二叉树),并且已经编号,每个结点为1或0,有两种操作,对单个结点修改和查询一个结点的子树的所有结点的值。 思路:操作为单点操作和区间查询,很适合用树状数组或线段树来解,但是这里的区间查询并不具备
        阅读全文
                
摘要:题目链接:https://vjudge.net/problem/POJ-1195 题意:有s*s的矩阵,初始化为全0,有两种操作,单点修改(x,y)的值,区间查询(x,y)的值(l<=x<=r,b<=y<=t)。 思路:二维树状数组裸应用查询区间(l,b)~(r,t)的值可转换为tr[r][t]-t
        阅读全文
                
摘要:题目链接:https://vjudge.net/problem/POJ-2352 题意:在直角坐标系中给出n个点的 (x,y),(0<=x,y<=32000),定义每个点的level为(x',y')的数量,其中x'<=x,y'<=y。输出所有level的点的个数。 思路:这几天开始写树状数组的题,加
        阅读全文
                
摘要:题目链接:https://www.luogu.org/problemnew/show/P3368 题意:与模板1不同的是这题的操作是树状数组并不在行的区间更新和单点查找,如果按照模板1那样写肯定会T。但这题题目是树状数组模板,所以肯定还是能用树状数组来做的,我用a数组保存原数组,tr数组表示树状数组
        阅读全文
                
摘要:题目链接:https://www.luogu.org/problemnew/show/P3374 树状数组和线段树一样,也是一个结点表示一个段,只不过线段树是采用二分思想来表示一个线段,而树状数组不是。对于原数据a[],树状数组tr[],tr[n]=tr[n-2^k+1]+...+tr[n],其中k
        阅读全文
                
 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号