本文首先会介绍完美正方形的基本信息,然后会原创推导完美正方形最大边长需要满足的条件。
一、完美正方形的基本信息
能够切分为一系列边长为整数且互不相等的正方形的正方形,称之为完美正方形。这里有两个约束:第一:边长为整数。显然如果边长为小数,只要放大足够的倍数,就能变为边长为整数的正方形;第二:互不相等。如果允许边长相等,那么切分起来就很简单,且切分方案也非常多。所以,限制边长互不相等,切分方案更有难度、更稀缺。
显然给定一个完美正方形以及其切分方案,将这些正方形的边长放大整数倍,得到的还是完美正方形及相应的切分方案;一个完美正方形的切分方案旋转、翻转后得到的也是切分方案。这些本质上相同的切分方案视为同一种切分方案。
显然也存在完美矩形。不过通过在完美矩形的长边增加同边长的正方形,得到的还是完美矩形,不够稀缺。

关于完美正方形有一些基本结论,如下:
边长最小的完美正方形边长为110;有三种切分方案,其中两种有22个正方形,第三种有23个正方形;
包含正方形个数最小的完美正方形边长为112,包含21个小的正方形,只有一种切分方案;
边长110和112的完美正方形的切分方案如下图所示:

二、完美正方形的性质

分割方案中边长最小的正方形不能位于边上
可通过反证法证明。假设边长最小的正方形可以位于边上,如上图桔色小正方形所示,由于其边长最小,所以其两侧的正方形边长大于它,那么其上要么放置同尺寸的正方形,要么放置更小的正方形;而前者与完美正方形要求包含的正方形尺寸互不相同冲突,后者与此正方形边长最小矛盾。所以分割方案中边长最小的正方形不能位于边上。
完美正方形的边长记为n,分割方案中边长最大的正方形边长记为k,那么k需要满足如下公式,接下来会详细证明:

k的下边界推导
首先k不能太小,因为我们只能用边长为1到k的正方形填充此完美正方形,如果这些正方形的面积之和小于n^2,那么此正方形不可能完美切割,由此我们得到如下不等式:

应用平方和求和公式可得:

化简可得:

由于下式成立:

所以可得:

由此可得k的下边界:

k的上边界推导
其次k不能太大。在边长为n的正方形里放置边长为k的正方形之后,显然剩余区域最大能放下边长为n-k的正方形,这意味着剩余区域最多只能放置边长为1到n-k的正方形,那么显然这n-k个正方形的面积之和至少要大于等于剩余部分的面积n^2-k^2,否则正方形n无法完美切分。由此可得:

化简并求解,可得:

显然k<n,因此可得:

由此我们证明了边长为n的完美正方形切分方案中边长最大的正方形的边长k需要满足如下不等式:

这个不等式在生成完美正方形的切分方案时非常有用,可以有效地对搜索空间进行裁剪,从而提升搜索效率。这可是作者原创推导的噢:)