#cspx01002. 哈尼梯田的“金字塔”祭坛 (Terraces)

哈尼梯田的“金字塔”祭坛 (Terraces)

题目名称:哈尼梯田的“金字塔”祭坛 (Terraces)

题目背景

在云南红河州的元阳梯田,哈尼族人民每年都会举行盛大的祭祀活动。为了祈求来年风调雨顺,阿普(老族长)决定在梯田中心修建一座特殊的灯光祭坛。

题目描述

祭坛的修建方案经历了三次讨论,产生了三个不同的数学模型:

  1. 立方模型(Pattern A):祭坛由 nn 层组成,第 11 层放 131^3 盏灯,第 22 层放 232^3 盏灯……第 nn 层放 n3n^3 盏灯。
  2. 正方形模型(Pattern B):将总灯数重新排列成一个正方形点阵。根据“天下无双,项数平方”的规律,这个正方形是由前 LL 个连续奇数相加组成的:1+3+5++W1 + 3 + 5 + \dots + W
  3. 金字塔模型(Pattern C):将总灯数排成一个坡度平缓的“金字塔”数列:$1 + 2 + 3 + \dots + (H-1) + H + (H-1) + \dots + 2 + 1$。

阿普惊讶地发现,这三个模型使用的总灯数 SS 是完全一样的!

现在,阿普给了你祭坛的层数 nn,请你帮他计算出:

  1. 祭坛使用的总灯数 SS 是多少?
  2. 正方形模型中,最后一个奇数 WW 是多少?
  3. 金字塔模型中,最高那一层的灯数 HH 是多少?

由于计算结果可能非常大,请输出它们对 1,000,000,0071,000,000,007 (109+710^9+7) 取模后的结果。

输入格式

输入包含多组测试数据。第一行包含一个整数 TT,表示测试数据的组数。 接下来的 TT 行,每行包含一个正整数 nn,表示立方模型的层数。

输出格式

对于每组数据,输出一行三个整数 S,W,HS, W, H,中间用空格隔开。 (请确保所有结果都对 109+710^9+7 取模)。

输入样例

2
2
3

输出样例

9 5 3
36 11 6

样例解释

  • n=2n=2 时:

    • 总灯数 S=13+23=9S = 1^3 + 2^3 = 9
    • 9=1+3+59 = 1 + 3 + 5。所以最后一个奇数 W=5W=5
    • 9=1+2+3+2+19 = 1 + 2 + 3 + 2 + 1。所以最高层灯数 H=3H=3
    • 输出 9 5 3
  • n=3n=3 时:

    • 总灯数 S=13+23+33=36S = 1^3 + 2^3 + 3^3 = 36
    • 36=1+3+5+7+9+1136 = 1+3+5+7+9+11。所以 W=11W=11
    • 36=1+2+3+4+5+6+5+4+3+2+136 = 1+2+3+4+5+6+5+4+3+2+1。所以 H=6H=6
    • 输出 36 11 6

数据范围与提示

  • 对于 30%30\% 的数据:1n1001 \le n \le 100
  • 对于 60%60\% 的数据:1n1061 \le n \le 10^6
  • 对于 100%100\% 的数据:1T100,1n1091 \le T \le 100, 1 \le n \le 10^9

提示:

  • 1+2+3++n=n(n+1)21 + 2 + 3 + \dots + n = \frac{n(n+1)}{2}
  • $(1 + 2 + 3 + \dots + n)^2 = 1^3 + 2^3 + \dots + n^3$。