#39506: 解題思路


toseanlin@gmail.com (Dr. SeanXD)

學校 : 康橋雙語學校
編號 : 158065
來源 : [220.130.163.227]
最後登入時間 :
2024-05-04 19:48:12
d712. The 3n + 1 problem -- ms0472904 | From: [203.204.21.18] | 發表日期 : 2024-03-01 11:18

本題可以用建立1到1000000的表來做,但是要跑1000000次的3N+1函式還是很耗時,可以發現當N可以被2整除時,他的3N+1函式回傳值就會是N/2的回傳值再加1,利用這點只需要判斷1到1000000中的奇數就好了。但是這樣子還是不夠快,所以除了將3N+1函式的回傳值進行建表,還需要進行A到B的最大值的線段數建立,最後再建立一個Query的函式將A到B的最大值進行計算,這樣子就不會TLE了。另外,測資中有可能A會大於B,這種情況就需要Swap(A, B),但是輸出的時候還是要按照原有的順序進行輸出,這點需注意。

範例程式碼

 
#40145: Re: 解題思路


toseanlin@gmail.com (Dr. SeanXD)

學校 : 康橋雙語學校
編號 : 158065
來源 : [220.130.163.227]
最後登入時間 :
2024-05-04 19:48:12
d712. The 3n + 1 problem -- ms0472904 | From: [220.130.163.227] | 發表日期 : 2024-04-27 17:11

更新的網站!!!

 
ZeroJudge Forum