Krydom: 暁の水平线に胜利を刻むのです

ソロモンの悪夢、見せてあげる!

@krydom8月前

04/8
19:43
斜率优化

[bzoj4518] [Sdoi2016]征途

♦♦♦♦♦♦   Description   ♦♦♦♦♦♦

Pine开始了从S地到T地的征途。
从S地到T地的路可以划分成n段,相邻两段路的分界点设有休息站。
Pine计划用m天到达T地。除第m天外,每一天晚上Pine都必须在休息站过夜。所以,一段路必须在同一天中走完。
Pine希望每一天走的路长度尽可能相近,所以他希望每一天走的路的长度的方差尽可能小。
帮助Pine求出最小方差是多少。
设方差是v,可以证明,v×m^2是一个整数。为了避免精度误差,输出结果时输出v×m^2。

♦♦♦♦♦♦   Input   ♦♦♦♦♦♦

第一行两个数 n、m。
第二行 n 个数,表示 n 段路的长度

♦♦♦♦♦♦   Output   ♦♦♦♦♦♦

一个数,最小方差乘以 m^2 后的值

♦♦♦♦♦♦   Sample Input   ♦♦♦♦♦♦

5 2
1 2 5 8 6

♦♦♦♦♦♦   Sample Output   ♦♦♦♦♦♦

36

♦♦♦♦♦♦   Hint   ♦♦♦♦♦♦

1≤n≤3000,保证从 S 到 T 的总路程不超过 30000

♦♦♦♦♦♦   题解  ♦♦♦♦♦♦

退一下式子然后发现是要最小化\sum_{i = 1} ^ m x_i^2,然后推一下式子斜率优化就行了

 

[bzoj4518] [Sdoi2016]征途