24 人解决,112 人已尝试。
39 份提交通过,共有 921 份提交。
7.3 EMB 奖励。
单点时限: 1.0 sec
内存限制: 512 MB
机房中有一棵高度为 $h$ 的满二叉树(包含 $2^h$ 个叶结点),传说是某 i 姓同学被吊打过的地方。
在这棵树上,我们将所有叶子结点从左往右依次编号为 $1,\ldots,2^h$。
其中有 $m$ 个叶子结点称为 关键结点,它们的编号依次为 $t_1,\ldots,t_m$。
这棵树上的每个 非叶结点 上有一个开关,开关有左右两种状态。
接下来执行如下的投球过程:一个球从根结点出发,每次走到当前结点开关指向的那个儿子处,直到走到叶结点,此时该球将会计入该叶结点的 球数 中,然后,这个球经过的所有结点的开关状态将 取反(左变右,右变左)。
你可以设置每个开关最初的位置,然后连续投下 $n$ 个球,你需要使得最终所有关键结点的 球数之和 最大,只需要输出这个最大值。
第一行:三个整数 $h,m,n$,分别表示二叉树的深度,关键结点的数量以及投球数。
第二行:$m$ 个整数 $t_{1\ldots m}$,表示关键结点的编号。
输出一行一个整数,表示所有关键结点的球数之和的最大值。
2 3 3 1 2 3
3
本题采用捆绑测试,共包含 6 个子任务。每个子任务包含若干测试点,你需要通过一个子任务中全部的测试点才能获得对应的分值。
对于 $100\%$ 的数据:$1\leq h\leq 60,\ \ 1\leq m\leq \min(2^h,10^5),\ \ 1\leq n\leq 10^{18},\ \ 1\leq t_i\leq 2^h$ 且 $t_i$ 两两不等。
$\text{Subtask 1}$:$h\leq 4,\ \ n\leq 100$,分值 $10$。
$\text{Subtask 2}$:$h\leq 10,\ \ n\leq 10^5$,分值 $20$。
$\text{Subtask 3}$:$h\leq 20$,分值 $10$。
$\text{Subtask 4}$:$h\leq 60,\ \ m=1$,分值 $10$。
$\text{Subtask 5}$:$h\leq 60,\ \ m\leq 20$,分值 $20$。
$\text{Subtask 6}$:$h\leq 60$,分值 $30$。
24 人解决,112 人已尝试。
39 份提交通过,共有 921 份提交。
7.3 EMB 奖励。
创建: 3 年,7 月前.
修改: 2 年,4 月前.
最后提交: 1 年,4 月前.
来源: N/A