【单选】数组 a[1..n] 的前缀和数组 s(即 s[i] = a[1] + a[2] + ⋯ + a[i])满足 s[i] = 3i^2 + i。则 a[10] 的值是( )。
前缀和数组的差分就是原数组:a[i] = s[i] − s[i−1],本题求 a[10] 只需算 s[10] − s[9],两个平方数一减即可。
直接把 s[10] = 3×100+10 = 310 当成 a[10](错选 B);或把 s[i] 当公差、误算成 3×10+1 = 31 之类。
本题考查前缀和与差分的关系。
前缀和定义:s[i] = a[1] + a[2] + … + a[i](且 s[0] = 0)。于是:
a[i] = s[i] − s[i−1]
这正是"差分"的定义:给定前缀和数组,逐项作差即可还原原数组。
已知 s[i] = 3i² + i,取 i = 10 与 i = 9:
a[10] = 310 − 252 = 58,选 C。
a[i] = (3i² + i) − (3(i−1)² + (i−1)) = 3(2i − 1) + 1 = 6i − 2。 验证:a[10] = 60 − 2 = 58 ✓;a[1] = 4,而 s[1] = 3 + 1 = 4 ✓ 完全吻合。