标签:定义 lan force targe sub 元素 维护 一个 blank
题目简述:对一个非空正整数(可重)集合$S$,从中选出两个元素$a, b (a \leq b)$,将他们从$S$中删除并将$a+b$加入$S$,重复这个操作直到$S$中只剩下一个元素为止,称为一次【竞技】。若一次操作中$a \leq b \leq 2a$,则称这次操作是【危险的】。一次竞技的【危险值】为其中【危险的】操作的次数。定义这个集合$S$的【危险值】(记作$\text{danger}(S)$)为:所有可能的竞技的【危险值】的最大值。设一个集合$S$初始为空集,维护以下操作:
1. 插入一个数$1 \leq x \leq 10^9$。
2. 删除一个(已有的)数$1 \leq x \leq 10^9$。
每次操作后,计算$\text{danger}(S)$。
解:code
对$x \in S$,定义$S$中比$x$小的数之和为
$$ f(x) = \sum_{a \in S, a < x} x. $$
令$S$中满足$2f(x) < x$的$x$的个数为
$$t = \sum_{x \in S} [2f(x)<x]. $$
观察1:$\text{danger}(S)=|S|-t$。
标签:定义 lan force targe sub 元素 维护 一个 blank
原文地址:https://www.cnblogs.com/TinyWong/p/10352896.html