藍橋杯 歷屆試題 數字遊戲

2021-07-29 01:43:11 字數 718 閱讀 8472

這道題給了乙個很明顯的乙個序列,那麼就是數列可以一次寫為:(1

+0),

(1+0

+1),

(1+0

+1+2

),(1

+0+1

+2+3

)...

...(

1+0+

1+2+

..+n

−1) ,這樣就轉化為1加上乙個等差數列,那麼直接按照等差數列求和公式sn

=(a1

+an)

∗n/2

,這樣就很容易求出答案。但是中間用公式的時候會用到i∗

n∗(i

∗n+1

) ,注意i和n都是106

數量級的,那麼這樣就會爆long long,因此我們需要用到求逆元的乙個公式an

s=(a

/b)m

odm=

amod

(b∗m

)/b 求出,這樣才能全部資料通過,不然會錯最後一組。

#include 

#include

#include

#include

using

namespace

std;

#define ll long long

int main()

}

藍橋杯 歷屆試題 數字遊戲

先看到資料規模,如果純暴力的話10 6 10 6肯定是要超時的,所以我們要想辦法優化,因為我們只關心棟棟報出的數字總和,我們又知道了其他人報的規律是前面乙個人的 1 2 3 4這樣報的,那麼換句話來說,我們只要知道每迴圈一組總共加了多少,把這些總和加起來加到棟棟上次報的數字上,就能知道棟棟這次報的數...

藍橋杯 歷屆試題 數字遊戲

時間限制 1sec 記憶體限制 128mb 提交 612 解決 78 題目描述 棟棟正在和同學們玩乙個數字遊戲。遊戲的規則是這樣的 棟棟和同學們一共n個人圍坐在一圈。棟棟首先說出數字1。接下來,坐在棟棟左手邊的同學要說下乙個數字2。再下面的乙個同學要從上乙個同學說的數字往下數兩個數說出來,也就是說4...

1443 藍橋杯 歷屆試題 數字遊戲

為了使數字不至於太大,當在心中數到 k 1 時,下乙個數字從0開始數。ps 相當於取模 例如,當k 13時,棟棟和同學們報出的前幾個數依次為 1,2,4,7,11,3,9,3,11,7。遊戲進行了一會兒,棟棟想知道,到目前為止,他所有說出的數字的總和是多少。棟棟說出的數依次為1,7,9,和為17。資...