ZJCOJ qwb與神奇的序列(數論)

2021-08-01 22:52:24 字數 968 閱讀 3209

time limit: 1 sec  

memory limit: 128 mb

submit: 863  

solved: 94 [

submit][

status][

web board]

qwb又遇到了一道題目:

有乙個序列,初始時只有兩個數x和y,之後每次操作時,在原序列的任意兩個相鄰數之間插入這兩個數的和,得到新序列。舉例說明:

初始:1 2

操作1次:1 3 2

操作2次:1 4 3 5 2

……請問在操作n次之後,得到的序列的所有數之和是多少?

多組測試資料,處理到檔案結束(測試例數量<=50000)。

輸入為一行三個整數x,y,n,相鄰兩個數之間用單個空格隔開。(0 <= x <= 1e10, 0 <= y <= 1e10, 1 < n <= 1e10)。

對於每個測試例,輸出乙個整數,佔一行,即最終序列中所有數之和。

如果和超過1e8,則輸出低8位。(前導0不輸出,直接理解成%1e8)

1 2 2
思路:每一項的中間部分貢獻x2,左右兩個數貢獻x1,於是ai = ai-1 + [ai-1-(x+y)]*2 + (x+y),化簡得a1 = x+y,ai = 3*ai-1  -  (x+y) ,i>1,再化簡得ai = (3^n + 1)/2 * (x+y)。

3^n用快速冪解決,因為要除二又要取模,需要用逆元轉換一下。

#include using namespace std;

typedef long long ll;

const ll mod = 1e8;

ll qmod(ll a, ll b, ll mo)

return ans;

}int main()

return 0;

}

qwb與神奇的序列 同餘定理

qwb又遇到了一道題目 有乙個序列,初始時只有兩個數x和y,之後每次操作時,在原序列的任意兩個相鄰數之間插入這兩個數的和,得到新序列。舉例說明 初始 1 2 操作1次 1 3 2 操作2次 1 4 3 5 2 請問在操作n次之後,得到的序列的所有數之和是多少?多組測試資料,處理到檔案結束 測試例數量...

(思維)CSL 的神奇序列

時間限制 c c 2秒,其他語言4秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld csl 有乙個神奇的無窮實數序列,他的每一項滿足如下關係 對於任意的正整數 n 有 n k 0akan k w2 k 0nakan k w2 並且 a0 wa0 ...

「序列數交換法」與加密

用 序列數交換法 可以產生真隨機數,但真隨機數用於加密檔案並不好用,用它們做金鑰需要保管和傳 遞等特殊關照,所以我們需要密碼學意義上的真隨機數就可以了,也就是對想破解的人是真的。現在籌畫序列數加密 隨機加密 這裡的加密方法是需要密碼的,密碼由使用者輸入。序列數由 序列數交 換法 產生,經處理後作為金...