QOJ.ac

QOJ

実行時間制限: 0.25 s メモリ制限: 256 MB 満点: 100

#10141. AA 树

統計

AA 树(AA tree)是一种具有特殊结构的二叉搜索树。每个节点都有一个 值(value) 和一个 层级(level)。值遵循通常的二叉搜索树性质:

  1. 每个左子节点(以及左子树中的所有节点)的值都小于或等于其父节点的值。
  2. 每个右子节点(以及右子树中的所有节点)的值都大于或等于其父节点的值。

层级遵循以下规则:

  1. 每个叶子节点的层级为 $1$。
  2. 每个左子节点的层级恰好比其父节点小 $1$。
  3. 每个右子节点的层级等于或比其父节点小 $1$。
  4. 每个右孙节点的层级严格小于其祖父节点的层级。
  5. 每个层级大于 $1$ 的节点都有两个子节点。

下面是五个 AA 树的示例,分别包含 $3$、$5$、$5$、$11$ 和 $11$ 个节点。为了清晰起见,与父节点层级相等的右子节点以红色标出。

任务

给定两个数字 $N$ 和 $L$,有多少种方式可以将 $1, 2, \dots, N$ 这些值排列成一棵恰好有 $L$ 个层级的 AA 树?

约束与说明

  • 由于原题中对二叉搜索树定义的描述存在错误,本题描述已做微调。
  • $1 \leq L \leq 9$
  • $1 \leq N \leq 10 \ 000$
# 分值 数据范围
0 0 样例
1 19 $L \leq 4$
2 34 $5 \leq L \leq 7$
3 47 无额外限制

样例

输入格式 1

5 2

输出格式 1

2

说明

两种可能的排列如上图中的第 $2$ 幅和第 $3$ 幅所示。

输入格式 2

442 6

输出格式 2

896944318

输入格式 3

7133 9

输出格式 3

980381648

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.