#P4738. [CERC2017] Cumulative Code
[CERC2017] Cumulative Code
Description
如你所知,树是一个由 个节点和 条无向边组成的图,其中任意两个节点之间有且仅有一条路径。在标记树中,每个节点都用 到 之间的不同整数标记。标记树的 Prüfer 码是与该树相关联的唯一序列,通过不断从树中移除节点直到只剩下两个节点来生成。更确切地说,在每一步中,我们移除标号最小的叶子,并将其邻居的标号附加到代码的末尾。回忆一下,叶子是一个只有一个邻居的节点。因此,标记树的 Prüfer 码是一个长度为 的整数序列。可以证明,原始树可以很容易地从其 Prüfer 码重建。深度为 的完全二叉树,记为 ,是一个有 个节点的标记树,其中对于所有 ,节点 连接到节点 和 。记 的 Prüfer 码为 。由于 的 Prüfer 码可能很长,你不需要输出它。相反,你需要回答关于代码中某些元素和的 个问题。每个问题由三个整数组成: 和 。答案是 的 Prüfer 码元素 的和。
Input Format
第一行包含两个整数 和 —— 完全二叉树的深度和问题的数量。接下来的 行中的第 行包含第 个问题:三个正整数 和 ,使得 和 都最多为 。
Output Format
输出 行。第 行应包含一个整数 —— 第 个问题的答案。
3 5
1 1 1
2 1 1
3 1 1
4 1 1
5 1 1
2
2
1
3
3
4 4
2 1 5
4 4 3
4 8 1
10 3 2
18
15
5
13
7 1
1 1 125
4031
Hint
在上面的第一个例子中,当构造 的 Prüfer 码时,节点按以下顺序被移除:。因此, 的 Prüfer 码是 。
题面翻译由 ChatGPT-4o 提供。
京公网安备 11011102002149号