关于可以走到根节点的军队的贪心决策
查看原帖
关于可以走到根节点的军队的贪心决策
545918
hgzxgzx楼主2022/8/19 12:05

分享一下鄙人的想法:

我们可以很轻松地处理完走不到根节点的军队,走到深度最小就好。

对于可以走到根节点的情况,我们不妨这里有两个单调不减序列,<a>,<b>\left< a \right>,\left< b \right>

aia_i 就是所有可以走到根节点军队的走到根节点后的剩余时间。

bib_i 表示这种军队深度最小的祖先(不是根节点)到根节点的距离或者是还没有堵上的根节点的子节点到它的距离

如果一个军队硬是要走,并且要走过根节点的话,我们不妨理解为用一个大于等于 bib_iaja_j 去抵消它。如果它仅仅只是向上走到深度最小的非根节点,那么它的剩余时间肯定就没了,但是会少一个 bib_i,并且这种情况不需要 ajbia_j\geq b_i。(当然了,这样的讨论是建立在 bib_i 存在的前提下,如果一个军队走到深度最小的非根祖先时发现这个子树已经被堵好了,我们不妨就让它走过根节点)我们的目的是把<b>\left< b\right>消灭殆尽,如果真的存在可以用小于等于 bjb_jaia_i 去抵消它,那我们不妨抵消就好。

2022/8/19 12:05
加载中...