AtCoder Beginner Contest 102 C - Linear Approximation
問題
タイトルが線形近似ということで、最小二乗法とかを連想しますね。
調べてみると、割と有名な問題のようですね。大学受験の問題でも出されたことがあるようです。
考え方
この問題を一般化すると、 を最小化する整数 を求めよという問題になります。
とします。
場合分け
絶対値を外すために場合分けをして考えます。
- のとき
となり、最小値は、
となります。
- のとき
となり、最小値は、
となるので、 以下となります。この操作を続けていくと、何かわかりそうですね。
一般化すると、
- のとき
となります。
ここで、次の式を考えます。
したがって、
において、
であることに注意すると、
- のとき
なので、 のとき最小となります。
追記(2/2)
このとき、 、 であり、
となるので、 の最大値をとることで、 は最小化されます。よって を大きくすることで の取れる値が大きくなるので、 のときが を最小化します。
(追記終了)
- のとき
なので、 のとき最小となります。
追記(2/2)
このとき、 であり、
となるので、 の値を小さくすることで、 は小さくなります。
の範囲を としてしまっているので、 と取れませんが、等号付き不等号としても一般性を失いません。
したがって、 のとき、 の最小値 が を最小化します。
(追記終了)
まとめ
したがって、中央値が最小値となります。中央値は偶数のとき、中央値が2つあるので、それの平均値をとる必要があるんですが、この問題では平均を取らなくても大丈夫です。
のとき
とします。
となり、同じ値になります。