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