关于点分治写法的一些疑问

P3806 【模板】点分治 1

movefast @ 2024-08-02 14:26:50

复述一遍问题:

子树大小 size 只在 getrt 函数里有更新,在全局重心 rt 往下分治时,直接沿用了 getrt(1,0) 求出的 size 这个不对吧?应该再 getrt(rt,0) 一次?


by dengchengyu @ 2024-08-02 16:34:51

什么是直接沿用了 getrt(1,0) 求出的 size


by dengchengyu @ 2024-08-02 16:35:21

@movefast


by movefast @ 2024-08-03 09:16:14

@dengchengyu 下面的 rt 指整棵树的重心

就是说他在全局重心计算完一次答案之后不是要往下分治吗,这时候需要用到当前子树的大小来计算子树的重心,理应再以 rt 为根遍历一次子树求大小,但是题解并没有这样做,他使用了以 1 为根的子树大小,这不行吧?

简单来说,就是子树大小应该以 rt 为根求,而题解使用了以 1 为根的子树大小


by dengchengyu @ 2024-08-04 08:25:10

@movefast 题解这样确实不行,你是对的,可以看这里


by movefast @ 2024-08-04 08:36:31

@dengchengyu okok


|