- 博客(347)
- 收藏
- 关注
原创 hdu 5756:Boss Bo
在第一次建立的时候我们记录每个节点的深度,然后再进行一次dfs,这次dfs用来更新以不同节点为根时,距离的维护,利用子树距离减1,非子树距离加1的方法进行更新距离和,最大距离和最小距离。同时不断建立树来打上懒标记,这里打标记的顺序也是dfs的,意味着我们query的时候要进行标记的计算,因为子树并没有更新根节点打上的懒标记。先用dfs确定每个节点的序号编号,并且可以获得每个节点可以包括的子树节点区间范围,再用线段树建立一棵树。最后利用补集的方式求出good node 到其余节点的距离。
2023-04-06 18:11:21
644
原创 hdu 4718: The LCIS on the Tree
不同之处在于,这里需要考虑方向,因为从树的一端到另外一端是有方向的,而像hdu3308这道就是没有方向,因为就是区间而已,而树链剖分从上到下的id是递增的,这说明我们需要记录一些方向信息并进行翻转才能得到正确方向。这里树链剖分的作用在于将这棵树切分成了离散的枝条,用这些离散的枝条构成了一颗线段树,对每一个离散区间进行区间的维护。这里维护的方法可以参考hdu3308的做法。
2023-04-02 18:49:59
407
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人