Description
$n$ 等分大三角形的每条边,将对应的等分点连接起来(连接线分别平行于三条边),求有多少个三角形。
Source
Solution
看似很简单的数学题,实际上让人摸不着头发(???
不妨设$\triangle ABC$ 的边长为 $n$,这样 $n$ 等分每一条边后,每个小三角形的边长为 $1$ 。
先考虑头朝上的三角形($\triangle$):
边长为 $1$ 的三角形有多少个呢?
(如图)显然第一层有 $1$ 个,第二层有 $2$ 个,一直到第 $n$ 层有 $n$ 个,共
那边长为 $2$ 的三角形呢?
(如图)我们可以数它左下角那个边长为 $1$ 的三角形,因为有大小限制,最右侧一列就不能数了,所以问题变为求边长为 $n - 1$ 的三角形中有几个边长为 $1$ 的三角形,与上面的求法一样,共
同理,边长为 $i\ \left(1 \leq i \leq n\right)$ 的三角形共
由此可以得出结论,边长 $1 \sim n$ 头朝上的三角形共
至于第 $2$ 步到第 $3$ 步怎么得出来的,这里给出详细解释。
定理:
证明:
首先需要知道
那么
因此我们可以列出 $n$ 个式子
把这 $n$ 个式子相加,得到
化简
因式分解,得
证毕。
于是乎,我们就可以推出
再考虑头朝下的三角形($\bigtriangledown $):
(如图)边长为 $1$ 的三角形第 $1$ 行没有,第二行有 $1$ 个,第三行有 $2$ 个,一直到第 $n$ 行有 $n - 1$ 个,所以共
接下来数边长为 $2$ 的三角形。
(如图)我们考虑数它下方的三角形。前三行没有,第 $4$ 行有 $1$ 个,第 $5$ 行有 $2$ 个,一直到第 $n$ 行有 $n - 3$ 个,共
同理,边长为 $3$ 的三角形共
边长为 $i\ \left( 2 \leq 2i \leq n \right)$ 的三角形共
头朝下的三角形共(第一行式子表示 $n$ 是奇数,第二行式子表示 $n$ 是偶数)
推导一下。
先考虑 $n$ 是奇数的情况。
$n$ 为偶数也是同样的道理。
把头朝上和头朝下的三角形加起来,得到
这就是最后的答案,每次都可以 $O(1)$ 求了,总时间复杂度为 $O(T)$ 。
Code
1 |
|