几何与组合中的一些问题

皮克定理

Theorem (Pick)

对于一个顶点坐标均是整数(顶点均为格点)的简单多边形,其面积满足

内部格点个数边界格点个数

其中边界格点包括多边形的顶点和其它在边界上的格点。

Proof

分成两个阶段进行证明,首先引入一个概念:称一个三角形为格点三角形(本原三角形),如果三角形的顶点是格点,但是边界和内部不含其它格点。 我们首先证明:任意格点三角形的面积均为 。 不妨设格点三角形的三个点坐标为 , , ,那么可以据此定义一个坐标变换

格点三角形的性质可以保证,这个坐标变换是 到自身的双射,因此这个矩阵可逆,并且逆矩阵也是一个整数矩阵,这可以保证

因此 .

一个顶点为格点的多边形总是可以剖分为若干个格点三角形,可以证明划分的格点三角形个数是固定的,并且满足如下关系

划分的格点三角形个数内部格点个数边界格点个数

可以通过对内角和算两次进行证明:剖分后的格点三角形内角和显然为

划分的格点三角形个数

也可以通过对格点的分类进行计算,首先边界格点分为两类

边界格点个数顶点个数非顶点的边界格点个数

三类格点对内角和的贡献分别为:

  1. 顶点:顶点个数 ;(即整个多边形的内角和)

  2. 非顶点的边界格点:非顶点的边界格点个数

  3. 内部格点:内部格点个数

因此

划分的格点三角形个数顶点个数非顶点的边界格点个数内部格点个数
划分的格点三角形个数内部格点个数边界格点个数

这个等式的右侧与剖分无关,因此剖分得到的格点三角形个数是固定的。 由于每一个格点三角形的面积必然为 ,因此

划分的格点三角形个数内部格点个数边界格点个数

Remark

皮克定理在高维情况并不适用。皮克定理和欧拉公式( )有密切联系。

欧拉公式

Theorem (欧拉公式)

对于任何一个凸多面体,始终满足

其中 是顶点数, 是棱数, 是面数。( 其实就是欧拉示性数)

Example

例如对于立方体,

凸正多面体(柏拉图立体)

Definition

称一个凸多面体是凸正多面体(柏拉图立体),如果满足:所有面都是全等的正多边形,而且每一个顶点处有相同数目的棱相交。

记凸正多面体的每一个面为正 多边形,每一个顶点有 条棱相交,显然

Proposition

凸正多面体(柏拉图立体)只有五种,分别是:正四面体( );立方体( );正八面体( );正十二面体( );正二十面体( )。

五种凸正多面体

五种凸正多面体(柏拉图立体)

Proof

可以基于欧拉公式给出证明。 由于每条边被两个面共享,每个面有 条边;每个顶点对应 条棱,每个棱对应两个顶点。对边以三种方式进行计数得到

代入欧拉公式可得

整理得到

并且有 。凸正多面体的存在性要求找到整数对 同时满足如下要求

注意到若 ,由于

必然无解,同理若 也无解。因此只剩下 的九种候选情形,而且由于所有条件关于 有对称性,只需要枚举验证六种情况即可,过程略。

正方形剖分为小正方形

Problem

证明一个正方形可以拆分为 个(大小可以不同的)小正方形,其中 是不为 的所有正整数。

Solution

直接构造即可,如下图所示,取 ,这两种方式就可以覆盖题目要求的所有情况。

正方形剖分示意图

满二叉树的叶子数与节点数

Proposition

对于一棵满二叉树(即每个内部节点都恰好有2个子节点),若其叶子节点数为,则总结点数

Proof

设内部节点数为,则 。以下给出两种等价证明。

方法一(递归归纳法): 时,树仅含根节点, ,结论成立。 假设对于叶子数少于的满二叉树均成立。对于叶子数为 )的满二叉树,根节点分左右两子树,设左、右子树叶子数分别为,且 。由归纳假设,左右子树节点数分别为 ,故整棵树

归纳完成。

方法二(图论、算两次): 对树的边数量 算两次:

  1. 第一次“向上数”:除根节点外,每个节点有且仅有一条边连向父节点,故

  2. 第二次“向下数”:由于每个内部节点恰好向下发出2条边(满二叉树性质),故

因此

结合 可以解得