1 条题解
-
0
三角形计数(Counting Triangles) 题解
思路分析
设边长 等分时的三角形总数为 。当从 层在底部新增第 层时:以新底边为底的正立三角形新增 个;顶点落在底边上的倒立三角形新增 个。因此递推式为 $f(n) = f(n - 1) + \frac{n(n + 1)}{2} + \lfloor \frac{n^2}{4} \rfloor$(也可直接用通项公式 )。预处理 后每次询问 输出。
参考代码
#include <iostream> using namespace std; long long f[505]; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); for (long long n = 1; n <= 500; ++n) { f[n] = f[n - 1] + n * (n + 1) / 2 + (n * n) / 4; } int t; if (!(cin >> t)) return 0; while (t--) { int n; cin >> n; cout << f[n] << "\n"; } return 0; }
- 1
信息
- ID
- 8560
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者