給出乙個序列,我們要在其中找到不同位置的三個數,滿足可以構成三角形,且使它們位置盡量靠前。
有m
mm次操作,每個操作形式如下:
1 xy
1\ x\ y
1xy:將a
xa_x
ax改為yyy2
22:查詢最優的合法解,從小到大給出這三個數(而不是位置)。
直接樸素地做。
因為如果資料要使我們盡量迴圈次數多,那麼答案應該就在後面,但是a
ia_i
ai最大109
10^9
109。而斐波那契數列剛好就是三角形不滿足情況的最小值,我們發現在50
5050
位的時候就超出範圍了,所以在50
5050
的範圍內就會找到答案,時間複雜度o(5
03m)
o(50^3m)
o(503m
)。
#include
#include
int n, m;
int a[
100001];
intcheck
(int x,
int y,
int z)
void
solve()
if(ans1 > ans2) std::
swap
(ans1, ans2);if
(ans1 > ans3) std::
swap
(ans1, ans3);if
(ans2 > ans3) std::
swap
(ans2, ans3)
;printf
("%d %d %d\n"
, ans1, ans2, ans3);}
intmain()
else
solve()
;}}
斐波那契數列 斐波那契數列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級台階有幾種不同的走法?這就是乙個斐波那契數列 登上第一級台階有一...
斐波那契數列
1 題目描述 大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項。斐波那契數列的定義如下 輸入 輸入可能包含多個測試樣例,對於每個測試案例,輸入包括乙個整數n 1 n 70 輸出 對應每個測試案例,輸出第n項斐波那契數列的值。2 這是九度上的乙個題,要求時間限制1秒,整數的...