UVA10883 数学

卡常谁都会写,直接一个 火车头 + 暴力,妥妥 \(\ll 3 ~ \text s\)


数学题。

通过模拟数列 \(A\) 的变化规律,

\[\begin{aligned} & \left\{ \dfrac 1 2 (A_1 + A_2), \cdots, \dfrac 1 2 (A_{n - 1}, A_n) \right\} \\ \Rightarrow & \left\{ \dfrac 1 4 (A_1 + 2A_2 + A_3), \cdots, \dfrac 1 4 (A_{n - 2} + 2A_{n - 1} + A_n) \right\} \\ \Rightarrow & \left\{ \dfrac 1 8 (A_1 + 3A_2 + 3A_3 + A_4), \cdots, \dfrac 1 8 (A_{n - 3} + 3A_{n - 2} + 3A_{n - 1} + A_n) \right\} \\ \Rightarrow & \cdots \end{aligned} \]

将每一项的系数提出来:

\[\begin{array}{c} 1 ~~ 1 \\ 1 ~~ 2 ~~ 1 \\ 1 ~~ 3 ~~ 3 ~~ 1 \\ \vdots \end{array} \]

可以发现:杨辉三角,使用组合数推出式子:

\[\dfrac 1 {2^{n - 1}} \sum_{i = 1}^{n - 1} \dbinom{n - 1}{i - 1} A_i \]

但是由于 \(n \leq 5 \times 10^4\),绝对会溢出。

考虑对数处理。因为这个式子有一个 \(\dfrac 1 {2^{n - 1}}\) 的系数,不妨取一个底为 \(2\)\(\log\) 来消掉,

\[\begin{aligned} & \dfrac 1 {2^{n - 1}} \sum_{i = 1}^{n - 1} \dbinom{n - 1}{i - 1} A_i \\ = & \sum_{i = 1}^{n - 1} \operatorname{sgn} A_i \cdot 2^{\log_2 \left( \dfrac 1 {2^{n - 1}}\binom{n - 1}{i - 1} |A_i| \right)} \\ = & \sum_{i = 1}^{n - 1} \operatorname{sgn} A_i \cdot 2^{\log_2 \binom{n - 1}{i - 1} + \log_2 |A_i| - (n - 1)} \\ \end{aligned} \]

这样这个指数就不用计算了。然后使用一下二项式递推式

\[\dbinom n{m + 1} = \dfrac{n - m}{m + 1} \dbinom n m \]

累计乘就好了。代码

posted @ 2023-12-25 21:07  Carrot-Meow~  阅读(13)  评论(0)    收藏  举报