8.11
Lovely_yhb · · 个人记录
CF1994E Wooden Game
神金诈骗题。
最难的是想到只用分一个个的,因为如果把子树分开,和不分是等价的。
问题就转化成了一个数可以把它变小,问最大的或。
注意到
P3619 魔法
负收益的情况:
考虑一对(i,j)
i在j前的要求
- x>=a_i
- x>=a_j+a_i-b_i
==> x>=max(a_i,a_j+a_i-b_i)
j在i前的要求
- x>=a_j
- x>=a_i+a_j-b_j
==> x>=max(a_j,a_j+a_i-b_j)
哪个更小哪个更优。
也就是 b_i>b_j 时,i 更优
转化到树上,如果一个点的优先级是最高的,那么处理完它的父节点之后一定会立即更新它。可以把它和它的父节点合并起来,合成一个新点,再计算它的优先级,这个动态维护的过程可以用优先队列等方法。
高维前缀和。
容斥思想,枚举子集。