刷題 模擬 3n 1

2022-08-13 20:54:18 字數 644 閱讀 9321

記一次慘痛的刷題經歷,

bfs:

首先,我從1 -> [i,j] 推step,

看起來很理想,實際上無用狀態一大......

還忽略了3n+1數的奇妙軌跡問題......

所以這種數列還是不要反著推了,,太玄學

正著打表:

問題同上,不停的超出i,j範圍,

還因為re時不時出現負數

正解:部分記憶化

#include#include

using

namespace

std;

inti,j;

long

long

max;

long

long

t;const

int n=1000000

;long

long

d[n];

long

long work(long

long

n)

else}}

}int

main()

printf(

"%d %d %lld\n

",i,j,max);

}return0;

}

view code

模擬 繼續 3n 1 猜想

描述 卡拉茲 callatz 猜想已經在5006中給出了描述。在這個題目裡,情況稍微有些複雜。當我們驗證卡拉茲猜想的時候,為了避免重複計算,可以記錄下遞推過程中遇到的每乙個數。例如對n 3進行驗證的時候,我們需要計算3 5 8 4 2 1,則當我們對n 5 8 4 2進行驗證的時候,就可以直接判定卡...

繼續3N 1猜想

標籤 空格分隔 解題報告 pat 題目內容 卡拉茲 callatz 猜想已經在1001中給出了描述。在這個題目裡,情況稍微有些複雜。當我們驗證卡拉茲猜想的時候,為了避免重複計算,可以記錄下遞推過程中遇到的每乙個數。例如對n 3進行驗證的時候,我們需要計算3 5 8 4 2 1,則當我們對n 5 8 ...

繼續 3n 1 猜想

卡拉茲 callatz 猜想已經在1001中給出了描述。在這個題目裡,情況稍微有些複雜。當我們驗證卡拉茲猜想的時候,為了避免重複計算,可以記錄下遞推過程中遇到的每乙個數。例如對n 3進行驗證的時候,我們需要計算3 5 8 4 2 1,則當我們對n 5 8 4 2進行驗證的時候,就可以直接判定卡拉茲猜...