解题套路
题面把新数列定义成两个前缀和之差(bk=Sf(k)−Sg(k) 这一类)时,不要先把两个 S 各自
用 a1、d 展成二次式再相减——那样每一项都要算一遍带 n 的多项式。三步就够:
-
相减化区间。前缀和之差就是一段连续项:
Sq−Sp=ap+1+ap+2+⋯+aq(p<q)
p>q 时结果取负号、区间反过来:Sq−Sp=−(aq+1+⋯+ap)。公共的那一截整段对消,
剩下的一定是连续的一段——这是前缀和唯一的用法,也是这一步全部的技术含量。
-
数清区间。写下这一段的左端、右端、项数。项数 = 右端 − 左端 +1;
两端都带 n 时项数也带 n,照样先写出来。
-
取中间项。等差数列里,一段连续项之和 = 项数 × 中间项:
al+al+1+⋯+ar=(r−l+1)⋅a2l+r(l+r 为偶数)
这是等差中项的直接推论——把这一段首尾配对,每一对的和都是 2a(l+r)/2。项数为奇数时
中间项就是数列里真实的那一项,一段和当场压成一项。
于是原本每个 bk 都是一个二次式,现在每个 bk 都是「一个整数系数乘某一项」。
为什么这一步能省掉大半计算
对比一下同一个 bn+1=Sn+2−S2n 两种走法:
| 直接展开 | 化连续项再取中项 |
|---|
| 中间产物 | (n+2)a1+2(n+2)(n+1)d 与 2na1+22n(2n−1)d,相减整理成 n 的二次式 | −(an+3+⋯+a2n),共 n−2 项 |
| 代入 n=3,5,7 | 每次都要算一遍二次式 | 每次只写「项数 × 中间项」 |
| 得到的形状 | −3a1−24d 这类含两个字母的式子 | −3a9 这类一项 |
后者的输出还自带结构:几个中间项的下标往往自己成等差,于是几个 b 全部化成同一项与 d 的
一次式,比较它们时连通项公式都不必再展。
三处要当心
- 项数为偶数时没有「中间项」。al+⋯+ar 在 l+r 为奇数时中点落在两项之间,
这时写成 2r−l+1(al+ar)(首末配对),别硬凑一个不存在的 a(l+r)/2。
- 两端谁大谁小要先判。Sq−Sp 的符号由 p、q 的大小定,而两端都含 n 时大小关系
可能随 n 翻转(Sn+2−S2n 在 n<2 时是正的、n>2 时是负的,n=2 时为 0)。
分界点处要单独看一眼。
- 区间可能是空的。两个和相等时那一段没有项,差是 0——它是合法结果,不是算错。
自检
化完之后拿一个具体的 n 回代验一次:按定义直接加出那几项,和「项数 × 中间项」比对。
一次就够,错位一格立刻暴露。