初一数学题

2023-07-13

前言

同学问的,轻喷

这真的是一道初一的人做的数学题

正题

有一个函数

\[f(x) = \sum_{i=1}^{2023} i|x-i|, x\in \mathbb{R}\]

求其最小值,以及取到最小值时 $x$ 的取值。

代数解法

令答案为 $ANS,ans = \lfloor ANS \rfloor~ ~(ans \in \mathbb{Z^+})$

那么当 $x \in [ans, ans+1]$ 时

\[\begin{aligned} f(x) &= \sum_{i=1}^{2023} i|x-i|\\ &= \sum_{i=1}^{ans} i(x-i) + \sum_{i=ans+1}^{2023} i(i-x)\\ &= x\sum_{i=1}^{ans} i - \sum_{i=1}^{ans}i^2 - x\sum_{i=ans+1}^{2023} i + \sum_{i=ans+1}^{2023}i^2\\ &= (2\sum_{i=1}^{ans}i - \sum_{i=1}^{2023})x + b\\ &= ((ans+1)ans - 2023 \times 1012)x + b\\ \end{aligned}\]

其中,$b$ 是只含有 $i$ 的依托常数。

这是一个 $kx + b$ 的形式。由于 $x$ 要取到较小的 $ans$ ,所以这个式子的值是随着 $x$ 的减小而减小的,说明 $k \ge 0$ 。所以有

\[((ans+1)ans - 2023 \times 1012) \ge 0~~~~~~~~(1)\]

同理当 $x \in [ans-1, ans]$ 时

\[\begin{aligned} f(x) &= \sum_{i=1}^{2023} i|x-i|\\ &= \sum_{i=1}^{ans-1} i(x-i) + \sum_{i=ans}^{2023} i(i-x)\\ &= x\sum_{i=1}^{ans-1} i - \sum_{i=1}^{ans-1}i^2 - x\sum_{i=ans}^{2023} i + \sum_{i=ans}^{2023}i^2\\ &= (2\sum_{i=1}^{ans-1}i - \sum_{i=1}^{2023})x + b\\ &= ((ans-1)ans - 2023 \times 1012)x + b\\ \end{aligned}\]

其中,$b$ 是只含有 $i$ 的另依托常数。

这又是一个 $kx + b$ 的形式。由于 $x$ 要取到较大的 $ans$ ,所以这个式子的值是随着 $x$ 的增大而减小的,说明 $k \le 0$ 。所以又有

\[((ans-1)ans - 2023 \times 1012) \le 0~~~~~~~~(2)\]

$(1)(2)$ 联立得

\[\begin{cases} ((ans+1)ans - 2023 \times 1012) \ge 0~~~~~~~~(1)\\ ((ans-1)ans - 2023 \times 1012) \le 0~~~~~~~~(2) \end{cases}\]

解得可行的解集为 $\frac{\sqrt{4c+1}-1}{2} \le ans \le \frac{\sqrt{4c+1}+1}{2}$

其中, $c = 2023 \times 1012$ 。

又因 $ans \in \mathbb{Z^+}$,所以 $ans = 1431$ 。

所以 $\lfloor ANS \rfloor = ans = 1431$,即 $ANS \in [1431, 1432)$ !

果真如此吗?

随便跑一下程序就知道不是这样

为什么错呢

先猜结论: $ANS$ 必须是整数,即 $ANS = 1431$ 。

那我们从定义出发,设 $ANS = 1431+x ~(x \in [0,1))$ 。

当 $x$ 从 $0$ 增大的时候, $ANS$ 距离左边的点越来越远,距离右边的点越来越近。

具体而言,对于左边,$f(1431+x)$ 比 $f(1431)$ 多了

\[\begin{aligned} \sum_{i=1}^{1431} ix &= x \sum_{i=1}^{1431}i\\ &= \frac{1431\times1432}{2} x \end{aligned}\]

对于右边, $f(1431+x)$ 比 $f(1431)$ 少了

\[\begin{aligned} \sum_{i=1432}^{2023} ix &= x \sum_{i=1432}^{2023}i\\ &= \frac{2023\times2024 - 1431\times1432}{2} x \end{aligned}\]

由 $\frac{1431\times1432}{2} > \frac{2023\times2024 - 1431\times1432}{2}$ 可以得出,$f(1431+x)$ 随着 $x$ 的增大而增大,所以当 $x = 0$ 时, $f(ANS) = f(1431+x) = f(1431)$ 取到最小值。

计算 $f(1431)$ 可得答案。

几何意义解法

神仙 piggy123 考古时发现了这个解法。

考虑绝对值的几何意义:$ a-b $ 代表了 $a$ 与 $b$ 数轴上的距离。

看一下原式

\[f(x) = \sum_{i=1}^{2023} i|x-i|, x\in \mathbb{R}\]

就相当于数轴上 $1 \sim 2023$ 这些数中,$1$ 上面有 $1$ 个点,$2$ 上面有 $2$ 个点……$2023$ 上面有 $2023$ 个点,这时在数轴上选一点 $x$ ,计算点 $x$ 到这 $1+2+3+\cdots+2023$ 个点的距离。

神仙 piggy123 立马明白,$x$ 应该选 $1,2,2,3,3,3,4,4,4,4,\cdots,2023$ 的中位数,也就是 $1431$。

拓展题

有一个函数

\[f(x) = \sum_{i=1}^{2023} |ix-1|, x\in \mathbb{R}\]

求其最小值,以及取到最小值时 $x$ 的取值。

易得

\[\begin{aligned} f(x) &= \sum_{i=1}^{2023} |ix-1|\\ &= \sum_{i=1}^{2023} i|x-\frac{1}{i}| \end{aligned}\]

然后与上文题目形式相同。