![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树状数组
似火orz
哈哈哈哈哈哈哈哈哈哈
展开
-
树状数组
刚学完树状数组,所以来写篇博客理下思路。树状数组长这样:跟线段树不同,这个是每一竖列的c[i]代表每一个子树的权值(子树与他相连的左下方的部分),与线段数的长代码不同,树状数组主要靠二进制之间的某种奇妙的关系来进行根节点的子节点如何确定呢?看下面这些式子:C[1]=(01)=A[1];C[2]=(10)=A[1]+A[2];C[3]=(11)=A[3];C[4]...原创 2019-05-01 20:32:37 · 122 阅读 · 0 评论 -
Apple Tree POJ - 3321 dfs序+树状数组
There is an apple tree outside of kaka's house. Every autumn, a lot of apples will grow in the tree. Kaka likes apple very much, so he has been carefully nurturing the big apple tree.The tree hasN...原创 2019-06-01 16:33:54 · 227 阅读 · 0 评论 -
dfs序+树状数组
dfs序是一种把树状结构改变为线段结构的操作,在之后用树状数组或线段树操作怎么把树状数组改成线状呢?dfs根据dfs搜索的先后,为其赋上新的值例如这个图dfs之后的顺序是A B E FKC G H I1 2 3 4 56 78 9A管辖的范围是A-I=1-9B管辖的范围是B-K=2-5以此类推代码:inli...原创 2019-05-01 20:56:32 · 582 阅读 · 0 评论 -
J - Vasya and a Tree CodeForces - 1076E树状数组+dfs
传送题意:有一棵树,1是根节点,给出三个数x,d,v,表示以x为节点的子树中,深度小于等于d的每个节点值+v;这题的难点在于,如何控制深度d;先说我没做出来的思路:1 如果我们直接以深度建立树状数组,在改变以2为根节点的子树的时候,同样深度为2的2,3会同时更改,但是3的并不在2的子树上;我们还要判断是否在一个子树上,就十分的复杂。2 如果是直接用dfs序,就像上面所说,深...原创 2019-06-06 21:34:56 · 129 阅读 · 0 评论 -
Matrix POJ - 2155 树状数组+差分
Given an N*N matrix A, whose elements are either 0 or 1. A[i, j] means the number in the i-th row and j-th column. Initially we have A[i, j] = 0 (1 <= i, j <= N).We can change the matrix in th...原创 2019-06-01 17:55:55 · 123 阅读 · 0 评论 -
F - Disharmony Trees HDU - 3015 树状数组
传送门题意:广场上有n棵树。两棵树之间的不和谐值与两种称为远和短的值有关。例如,如果有5棵树,X坐标是3,3,1,3,4.。它们的D可能是2 2 1 2 5。将两棵X坐标为D1和D2的树的距离定义为F = abs(D1-D2)。短的定义与远的相似。例如,如果有5棵树的高度是4 1 9 7 4。它们的H可能是2 1 5 4 2。高度为H1和H2的两棵树的短树定义为S=min(H1,H2)...原创 2019-06-04 15:45:53 · 159 阅读 · 0 评论