noip模擬賽 斐波那契

2022-05-01 07:48:08 字數 802 閱讀 6520

分析:暴力分有90,真良心啊.

a,b這麼大,連圖都建不出來,肯定是有乙個規律.把每個點的父節點寫出來:0 1 1 12 123 12345 12345678,可以發現每乙個迴圈的長度剛好是斐波那契數列中的第i項,那麼求個字首和,二分求一下lca就可以了.

#include #include 

#include

#include

using

namespace

std;

typedef

long

long

ll;ll sum[

70], f[70

], m, a, b;

intmain()

if (a

swap(a, b);

while (a != b && a != 1 && b != 1

)

else

r = mid - 1

; }

a = a -sum[res];

if (b >a)

swap(a, b);

}if (a == 1 || b == 1

) printf(

"1\n");

else

printf(

"%lld\n

", a);

}return0;

}

NOIP模擬題 斐波那契數列

題目大意 給定長度為 n 序列 a 將它劃分成盡可能少的若干部分,使得任意部分內兩兩之和均不為斐波那契數列中的某一項。題解不難發現 2 times 10 9 之內的斐波那契數不超過 50 個 先求出第 i 個數之前最後乙個能和第 i 個數相加為斐波那契數的位置 last i 考慮每一部分 l,r 只...

斐波那契數列 斐波那契數列python實現

斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...

迴圈斐波那契數列 斐波那契數列應用

什麼是斐波那契數列 斐波那契數列指的是這樣乙個數列 1,1,2,3,5,8,13,21,34,55,89,144 這個數列從第3項開始,每一項都等於前兩項之和 台階問題 有一段樓梯有10級台階,規定每一步只能跨一級或兩級,要登上第10級台階有幾種不同的走法?這就是乙個斐波那契數列 登上第一級台階有一...