1. 程式人生 > >「原創題」紅太陽

「原創題」紅太陽

一個人 內部 隨機 aligned 輸出 超過 包含 ron 取模

「題目描述」

  我們都知道,紅太陽會發出光芒。每天紅太陽會等概率隨機、不超過 $n$ 次地發出光芒,每次包含著 $a$ 個單位的熱量。

  我們都知道,只有在紅太陽的照耀下,我們才能茁壯成長。每天每個人都希望得到 $c$ 個單位的熱量,只有得到了 $c$ 個單位的熱量,一個人才會滿足,並高呼「紅太陽萬歲!」。而紅太陽會滿足盡量多的人。

  問每天紅太陽能滿足的人的期望個數,為了避免浮點誤差,將答案乘上 $n+1$ 對 ${10} ^ 9 + 7$ 取模後輸出。

「做法1」類歐幾裏得算法

  求 $\begin{aligned} \sum_{i = 0} ^ n \lfloor \frac{ai}{c} \rfloor \end{aligned}$ 。

  這是經典的類歐幾裏得算法的模型。

「做法2」幾何意義

  幾何意義:$y = ax$ 、$x$ 軸與 $x = n$ 三條直線圍成的三角形內點的個數。

  向量 $(x, y)$ 上的整點個數為 $(x, y) + 1$ ,除端點外的整點個數為 $(x, y) - 1$ 。

  使用 pick 定理,或者將三角形補形為矩形後求內部的整點個數。

「原創題」紅太陽