P4092[HEOI2016/TJOI2016]树(题解)
Link.
Ready.
dfs序:
把原树按照dfs的序号编号,先dfs到的节点dfs序小
例如下图中就是样例,黑体是dfs序,蓝体是题目给定序(原序)
Attention.
dfs序与原序要分清
修改时并不能直接赋值,要取最大值。
Solution.
先把原数赋予按照dfs序,以及逆dfs序。现在经观察得,每一个点的子孙便是【它,它的最右子节点】中所有整数。
接下来便可以向线段树思考了,它需要维护区间最大值。
支持区间改最大值,查最大值。
Coding.
1 |
|