解题套路
档界 c1<c2<⋯、单价 p1<p2<⋯,用量 x:
F(x)=p1x+i⩾2∑(pi−pi−1)⋅(x−ci−1)+,
其中 (t)+=max{t,0}——没超过这一级的档界,这一项就是 0。
做法:
- 整笔按第一档价算:p1x。
- 逐级补差价:超过 c1 的那部分(共 x−c1)每单位再补 p2−p1;超过 c2 的那部分再补 p3−p2;以此类推。
- 相加。
为什么与逐档累加相等
两档的情形(c1<x⩽c2)直接摊开看:
逐档累加p1c1+p2(x−c1)=p1c1+p1(x−c1)+(p2−p1)(x−c1)=先统一价再补差价p1x+(p2−p1)(x−c1).
中间那一步只做了一件事:把 p2(x−c1) 拆成 p1(x−c1)+(p2−p1)(x−c1)。多档的情形逐级重复同一拆法即可。
它强在哪
- 记的数少。逐档累加要记住每一档的单价与档宽;这套只要记住差价(往往是很整的数,比如 0.03、0.07)与档界。
- 对「多用一度多花多少钱」这类追问直接给答案:F′(x) 就是 x 所在那一档的单价,而它等于 p1 加上已越过的各级差价之和。
- 档数多时优势明显(个税七级),而且天然能写成一个不带分段记号的闭式。
常见失手
- 忘了取正部。x 还没到 c2 时,(x−c2)+=0,硬代 x−c2 会得到负的补价、把总额算小。
- 补的是差价,不是单价。第二级补的是 p2−p1,写成 p2 就重复收了一遍。
- 差价用错级。每一级的差价对应的是它自己的档界:(p3−p2) 配 (x−c2)+,配错档界结果不对。