\chapter{几何中的组合问题}
\section{对角线的交点}
\begin{definition}
    若多边形的每个内角都小于$\pi$，则称其为凸多边形。
\end{definition}

考虑一个凸$n$变形。假设它的任意三条对角线的不相交在同一点，那么这个凸$n$变形的对角线共有多少个交点？

\begin{figure}[H]
    \begin{center}
        \begin{tikzpicture}
            \node[above] at (0,2) {$A$};
            \node[left] at (-2,1) {$B$};
            \node[left] at (-1.5,-2) {$C$};
            \node[below] at (0.5,-3) {$D$};
            \node[right] at (2.5,-2.2) {$E$};
            \node[right] at (3,0.8) {$F$};
            \draw (0,2)--(-2,1)--(-1.5,-2)--(0.5,-3)--(2.5,-2.2)--(3,0.8)--cycle;
            \draw (0,2)--(-1.5,-2)--(2.5,-2.2)--cycle;
            \draw (-2,1)--(0.5,-3)--(3,0.8)--cycle;
            \draw (0,2)--(0.5,-3);
            \draw (-2,1)--(2.5,-2.2);
            \draw (-1.5,-2)--(3,0.8);
        \end{tikzpicture}
    \end{center}
\end{figure}

每个对角线的交点都与对角线的四个顶点组成的四边形一一对应，因此总数为$\dbinom{n}{4}$。

\section{分割区域数}
\begin{definition}
    若一组直线中任意一对直线不平行、任意三个不共点，则称这组直线\newnoun{在常态下}{in general position}。
\end{definition}

\begin{theorem}
    平面上$n$条在常态下的直线将平面分成$1 + \dfrac{n(n+1)}{2}$个区域。
\end{theorem}

\begin{proof}
    有0条直线时，有1个区域。设$n-1$条直线时，结论成立。那么当有$n$条直线时，新添加的一条直线被分为了$n$段，每一段都将这一段所在的区域分为两半，即区域数增加了$n$个。因此总数为
    \[1 + \frac{n(n-1)}{2} + n = 1 + \frac{n(n+1)}{2}\eqper\qedhere\]
\end{proof}

或者还有另一种证法：
\begin{proof}
    用矩形把所有的交点都框住，并保证矩形的边不与任何一条直线平行。我们可以把每个区域都与这个区域的最靠下的顶点（或者是矩形的边的某个部分）建立一一映射，即区域的总数为$n+1 + \dbinom{n}{2} = 1 + \dfrac{n(n+1)}{2}$。
\end{proof}

\section{凸多边形：Happy End Problem}
试证明：平面上任5个点（任三点不共线）中总能选出四个点组成凸四边形。

\begin{proof}
    称包含这五个点的最小凸多边形为凸包。

    按凸包的边数分类：
    \begin{figure}[H]
        \subfloat[五条边]{
            \begin{tikzpicture}
                \node[draw=black, circle] (a) at (18:2) {};
                \node[draw=black, circle] (b) at (90:2) {};
                \node[draw=black, circle] (c) at (162:2) {};
                \node[draw=black, circle] (d) at (234:2) {};
                \node[draw=black, circle] (e) at (306:2) {};
                \draw (a)--(b)--(c)--(d)--(e)--(a);
            \end{tikzpicture}
        }
        \hfill
        \subfloat[四条边]{
            \begin{tikzpicture}
                \node[draw=black, circle] (a) at (-1,1) {};
                \node[draw=black, circle] (b) at (2,1.2) {};
                \node[draw=black, circle] (c) at (-0.8,-1) {};
                \node[draw=black, circle] (d) at (1, -0.8) {};
                \node[draw=black, circle] at (0,0) {};
                \draw (a)--(b)--(d)--(c)--(a);
            \end{tikzpicture}
        }
        \hfill
        \subfloat[三条边]{
            \begin{tikzpicture}
                \node[draw=black, circle] (a) at (-1.5,-1) {};
                \node[draw=black, circle] (b) at (1.5,-1) {};
                \node[draw=black, circle] (c) at (0,2) {};
                \draw (a)--(b)--(c)--(a);
                \node[draw=black, circle] (d) at (-0.4,0.3) {};
                \node[draw=black, circle] (e) at (0.5, 0) {};
                \draw (d)--(e);
                \draw[blue!30] (a)--(d);
                \draw[blue!30] (b)--(e);
            \end{tikzpicture}
        }
    \end{figure}
    前两种情况显然。对第三种情况，根据鸽巢原理，一定有两个在边界上的点在内部点相连得到的直线的同一侧。将这四个点连接起来就能得到一个凸四边形。
\end{proof}

推广：最多在平面上找多少个点，使得其中找不到凸$n$边形？

这个问题至今没有解决，猜想为$2^{n-2}$个。