分析:暴力分有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級台階有幾種不同的走法?這就是乙個斐波那契數列 登上第一級台階有一...