将 $n$ 作为分界线,将一个建筑到 $n$ 中递减的建筑作为一个集合,一个极大集合称作一个部分,则左边共有 $A - 1$ 个部分,右边共有 $B - 1$ 。将剩下的 $n - 1$ 个数划分到 $A + B - 2$ 个圆排列。划分了圆排列后,每个部分的一个端点是确定了的,因此可以代表答案中的排列。
查看代码
1 |
|
\begin {array}{c} \mathfrak {One Problem Is Difficult} \\\\ \mathfrak {Because You Don't Know} \\\\ \mathfrak {Why It Is Diffucult} \end {array}
将 $n$ 作为分界线,将一个建筑到 $n$ 中递减的建筑作为一个集合,一个极大集合称作一个部分,则左边共有 $A - 1$ 个部分,右边共有 $B - 1$ 。将剩下的 $n - 1$ 个数划分到 $A + B - 2$ 个圆排列。划分了圆排列后,每个部分的一个端点是确定了的,因此可以代表答案中的排列。
1 | #include <cstdio> |