题解 U534154 【正三角形】
题目链接:正三角形。
关于题目:作为 T1,巨水的签到题。
应用算法:模拟?
\(\ \ \ \ \ \ \)作为签到题,这道题就是“查数”,只要查明白了每种正三角形的个数就好。
\(\ \ \ \ \ \ \)首先,我们知道所有的正三角形分为正的和倒的,那么就请分类讨论。
- 一、正的三角形:
1.一层的三角形:单独的面积为 \(1\times 1=1\),共有 $ {2} $ 个,则面积和为 \(\dfrac {n(n+1)} {2} \times 1^2\)。
2.两层的三角形:单独的面积为 \(2\times 2=4\) ,共有 \(\dfrac {(n-1+1)(n-1)} {2}\) 个,则面积和为 \(\dfrac {(n-1+1)(n-1)} {2} \times 2^2\)。
3.总结来说,对于 \(i(1 \leqslant i \leqslant n)\) 层的三角形,单独的面积为 \(i\times i=i^2\),共有 $ {2} $ 个,则面积和为\(\dfrac {(n-i+2)(n-i+1)} {2} \times i^2\)。
- 二、倒的三角形:
1.一层的三角形:单独的面积为 \(1\times 1=1\),共有 \(\dfrac{(n-1+1)(n-1)} {2}\) 个,则面积和为 \(\dfrac{(n-1+1)(n-1)} {2} \times 1^2\)。
2.两层的三角形:单独的面积为 \(2\times 2=4\),共有 \(\dfrac {(n-3+1)(n-3)} {2}\) 个,则面积和为\(\dfrac {(n-3+1)(n-3)} {2} \times 2^2\)。
3.总结来说,对于 \(j(1 \leqslant j \leqslant \dfrac {n} {2})\) 层的三角形,单独的面积为 \(j\times j=j^2\),共有 \(\dfrac {(n-2j+2)(n-2j+1)} {2}\) 个,则面积和为 \(\dfrac {(n-2j+2)(n-2j+1)} {2} \times j^2\)。
- 三、总面积:\(S=\sum\limits_{i=1}^n \dfrac {(n-i+2)(n-i+1)} {2} \times i^2+\sum\limits_{j=1}^{\left\lfloor\dfrac{n}{2}\right\rfloor}\dfrac {(n-2j+2)(n-2j+1)} {2} \times j^2\)
\(\ \ \ \ \ \ \)其次,几个小细节需要注意一下:
- 一、这道题的空间限制为 3.00MB,如果用普通的数组递推的话会 MLE(相信大家都不会在这里犯错,毕竟题面上有那么明显的提示……)。
- 二、这道题的模数为 \(10^8+9\) ,并不是常用的 \(10^9+9\) ,这点还是要注意一下的,本人自测以 \(10^9+9\) 作为模数的话只能得 20 分。
\(\ \ \ \ \ \ \)最后,上代码,相信大家都能看懂(码风不喜勿喷):
1 |
|
