首先,将一个斐波那契数写成两个斐波那契数之和的方案是唯一的。
并且不难发现将一棵大小为斐波那契数的数划分为两个大小为斐波那契数的子树,最多只有两种方案。
我们来证明,如果 Fib-tree 有两种划分方案,那么这两种划分方案都可以划出两个 Fib-tree 来,也即我们可以任意决策。
考察其中一种能够划出两个 Fib-tree 的划分方案,称两个子树中较大者为 $A$,较小者为 $B$,显然另一种方案中,断开的边落在 $A$ 中,并且 $A$ 照这条边断开后仍然能形成两个 Fib-tree,所以原树按照这条边断开后亦能形成两个 Fib-tree。得证。
所以暴力寻找要割开的边即可。