QOJ.ac

QOJ

时间限制: 3.0 s 内存限制: 1024 MB 总分: 100 可 Hack ✓

#10702. ICFC 世界总决赛

统计

一年一度的国际大学生桌上足球大赛(International Collegiate Foosball Contest)世界总决赛即将到来,而你恰好负责市场推广工作。除其他事项外,你的工作是设计一张宣传该赛事的横幅。为了避免不必要的细节,你决定横幅上只包含比赛对阵图,不包含其他任何内容。

今年的对阵图是一个包含 $n$ 个节点的满二叉树。每个内部节点恰好有两个子节点。每个节点对应两名选手之间的一场比赛;获胜者将晋级到该节点父节点所代表的比赛中。唯一的例外是根节点,它代表总决赛,没有选手从中晋级。

横幅应为矩形,且边长为整数。对阵图应绘制在横幅上,并遵循以下规则:

  • 对阵图中的节点是横幅上的点,具有整数坐标(相对于横幅的左上角),并且可以绘制在横幅的边缘上。
  • 对阵图中的边是平行于横幅边框的直线段,连接横幅上的节点,且不能相互交叉。
  • 对于每个内部节点,其子节点中必须有一个绘制在它的右侧,另一个绘制在它的下方(不一定直接相邻)$^*$。
  • 不相交子树的边界框必须不相交 $^\dagger$。

输入格式

第一行包含测试用例的数量 $Z$ ($1 \le Z \le 200\,000$)。接下来是各测试用例的描述。

每个测试用例包含两行,第一行包含对阵图中的节点数 $n$ ($3 \le n \le 200\,000$)。下一行包含 $n-1$ 个整数,其中第 $i$ 个整数表示对阵图中第 $(i+1)$ 个节点的父节点。对阵图的根节点为节点 $1$。

所有测试用例的 $n$ 之和不超过 $200\,000$。

输出格式

对于每个测试用例,输出一行,包含最小所需横幅的面积。

样例

样例输入 1

2
5
1 1 3 3
9
1 1 2 2 3 3 6 6

样例输出 1

2
6

$^*$ 其中一个子节点的 $x$ 坐标必须大于父节点,另一个子节点的 $y$ 坐标必须小于父节点。

$^\dagger$ 令 $\text{Box}(T)$ 为包含子树 $T$ 中所有节点的、边平行于横幅边框的最小矩形。如果两个子树 $A$ 和 $B$ 不相交,则 $\text{Box}(A)$ 和 $\text{Box}(B)$ 也必须不相交(包括它们的边界)。

说明

第一个样例的最优节点放置方式。

第二个样例的最优节点放置方式。

第二个样例的一种非法放置方式。虽然产生了最优面积,但以节点 3 和 2 为根的子树的边界框发生了重叠。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.