368. 【24CSPS提高组】擂台游戏(arena) 中等
时间限制: 1.0s · 内存限制: 128MB · 通过: 0/0
小 S 想要举办一场擂台游戏,如果共有 $2^k$ 名选手参加,那么游戏分为 $k$ 轮进行: • 第一轮编号为 $1$, $2$ 的选手进行一次对局,编号为 $3$, $4$ 的选手进行一次对局,以此类推,编号为 $2^k − 1$, $2^k$ 的选手进行一次对局。 • 第二轮在只保留第一轮的胜者的前提下,相邻的两位依次进行一场对局。 • 以此类推,第 $k − 1$ 轮在只保留第 $k − 2$ 轮的 $4$ 位胜者的前提下,前两位、后两位分别进行对局,也就是所谓的半决赛。 • 第 $k$ 轮即为半决赛两位胜者的决赛。 确定了游戏晋级的规则后,小 S 将比赛的规则设置为了擂台赛。具体而言,每位选手都有一个能力值 $a_1$, $a_2$, · · · , $a_{2^k}$,能力值为 [$0$, $2^{31} − 1$] 之内的整数。对于每场比赛,会先抽签决定一个数 $0/1$,我们将第 $R$ 轮的第 $G$ 场比赛抽到的数记为 $d_{R,G}$。抽到 $0$ 则表示表示编号小的选手为擂主,抽到 $1$ 则表示编号大的选手为擂主。擂主获胜当且仅当他的能力值 $a ≥ R$。也就是说,游戏的胜负只取决于擂主的能力值与当前比赛是第几轮的大小关系,与另一位的能力值无关 。 现在,小 S 先后陆续收到了 $n$ 位选手的报名信息,他们分别告知了小 S 自己的能力值。小 S 会按照报名的先后顺序对选手进行编号为 $1$, $2$, · · · , $n$。小 S 关心的是,补充尽量少的选手使总人数为 $2$ 的整次幂,且所有选手进行一次完整的擂台游戏后,所有可能成为总冠军的选手的编号之和为多少。 形式化地,设 $k$ 是最小的非负整数使得 $2^k ≥ n$,那么应当补充 ($2^k − n$) 名选手,且补充的选手的能力值可以任取 [$0$, $2^{31} − 1$] 之内的整数。如果补充的选手有可能获胜,也应当计入答案中。 当然小 S 觉得这个问题还是太简单了,所以他给了你 $m$ 个询问 $c_1$, $c_2$, · · · , $c_m$。小S 希望你帮忙对于每个 $c_i$ 求出,在只收到前 $c_i$ 位选手的报名信息时,这个问题的答案是多少。