# 直线上的服务站:连续分组与中位数 ## 将选址转成分组 排序后记坐标为 $x_1\le\cdots\le x_N$ .按服务站从左到右的顺序,每个站服务一段连续房屋;距离并列时也可以按连续区间分配。对一个固定分组,绝对距离和在中位数处最小,因此存在所有服务站都位于房屋坐标的最优方案。 可以把最优方案写成恰好 $M$ 个非空连续组。若某个站没有房屋关联,因 $M\le N$ ,可以拆分一个含至少两个房屋的组并增加一个服务站,代价不会增加。重复坐标不影响此论证。 令 $P_i=\sum_{j=1}^ix_j$ ,$P_0=0$ .一个站服务 $[l,r]$ 的最小代价为 $$C(l,r)=x_q(q-l+1)-(P_q-P_{l-1})+(P_r-P_q)-x_q(r-q),\qquad q=\lfloor(l+r)/2\rfloor.$$ 前缀和让一次代价计算只需常数时间。 ## 动态规划与决策单调性 令 $D_t(r)$ 表示前 $r$ 个房屋分成 $t$ 组的最小代价。初值为 $D_0(0)=0$ ,其余不可行状态为正无穷。 $$D_t(r)=\min_{t-1\le j