codevs2969角谷猜想(記憶化搜尋 分塊)

2021-07-13 19:46:33 字數 655 閱讀 1515

所謂角谷猜想,即給定乙個正整數 n,對 n 反覆進行下列兩種變換:

1)如果n是偶數,就除以2;

2)如果n是奇數,就乘以3加1。

最後的結果總是1。

我們把從 n 變換到 1 所需要進行的變換次數稱做 n 的變換長度,如數字 7 的變換為:

7-22-11-34-17-52-26-13-40-20-10-5-16-8-4-2-1

共進行了 16 次變換,因而 7 的變換長度為 16。

wish 現在對乙個給定區間內的最長變換長度比較感興趣,但是手算起來計算量太大,於是他又找到了參加資訊學競賽的你,你可以幫助他嗎?

1。首先看資料範圍,時間複雜度不能高,要用陣列存暫時的答案。2.且不能把所有的答案存進去,會爆空間

so,分為兩種情況,一部分記憶化,一部分爆搜,折中時間空間複雜度,

1000000以下,記憶化;1000000以上,直接搜尋

#include#include#includeusing namespace std;

int f[1000009];

int t;

int find(long long x)

else }

int main()

return 0;

}

2969 角谷猜想

2969角谷猜想 時間限制 1 s 空間限制 32000 kb 題目等級 gold 題解檢視執行結果 題目描述description 所謂角谷猜想,即給定乙個正整數 n,對 n 反覆進行下列兩種變換 1 如果n是偶數,就除以2 2 如果n是奇數,就乘以3加1。最後的結果總是1。我們把從 n 變換到 ...

CODEVS T 2969 角谷猜想

時間限制 1 s 空間限制 32000 kb 題目等級 gold 題解檢視執行結果 所謂角谷猜想,即給定乙個正整數 n,對 n 反覆進行下列兩種變換 1 如果n是偶數,就除以2 2 如果n是奇數,就乘以3加1。最後的結果總是1。我們把從 n 變換到 1 所需要進行的變換次數稱做 n 的變換長度,如數...

驗證角谷猜想

total submission s 7305 accepted submission s 3767 problem description 數論中有許多猜想尚未解決,其中有乙個被稱為 角谷猜想 的問題,該問題在 五 六十年代的美國多個著名高校中曾風行一時,這個問題是這樣描述的 任何乙個大於一的自然...