本题的大部分题解的线段数合并部分都很奇怪,如果按照这些题解的 dp 定义,父子之间本应该是单向的合并关系但是具体实现却是双向的,并且应当是每个位置做后缀 min 再加起来的话,当父亲该节点为空时,儿子该节点应该对自己取后缀 min,毕竟不一定是单调的。
不过代码是对的,因为正确的理解方式应当是,在子树内选出一些点,选出的 h 的 min = i 的代价,这样的话才可以这样合并。