#27641: 給C愛用者們的建議(C++也可)


kirito020434@gmail.com (Boink)

學校 : 國立成功大學
編號 : 68610
來源 : [101.136.141.29]
最後登入時間 :
2023-06-24 21:24:11
a021. 大數運算 | From: [36.233.33.35] | 發表日期 : 2021-10-22 01:27

如果不用字串來這題可以更省空間,用字串存一個大數要500*8=4000bit,
但用length 32的uint64_t也就是2048bit來存一個大數(想要的話可以切更細,理論上500位數只要ceil(500/log(2))=1661個bit就好)跟一些bitops就足夠了,
實測大手筆的uint64_t[32]跑下來只用64KB可以給想客家起來的同伴們一個參考(。•̀ᴗ -)✧

 
#27642: Re:給C愛用者們的建議(C++也可)


kirito020434@gmail.com (Boink)

學校 : 國立成功大學
編號 : 68610
來源 : [101.136.141.29]
最後登入時間 :
2023-06-24 21:24:11
a021. 大數運算 | From: [36.233.33.35] | 發表日期 : 2021-10-22 01:32

如果不用字串來這題可以更省空間,用字串存一個大數要500*8=4000bit,
但用length 32的uint64_t也就是2048bit來存一個大數(想要的話可以切更細,理論上500位數只要ceil(500/log(2))=1661個bit就好)跟一些bitops就足夠了,
實測大手筆的uint64_t[32]跑下來只用64KB可以給想客家起來的同伴們一個參考(。•̀ᴗ -)✧


我的code基本沒優化,優化過後應該可以省更多空間,然後c++有bitset可以試試

 
#31928: Re: 給C愛用者們的建議(C++也可)


Q123456 (QQ)

學校 : Massachusetts Institute of Technology
編號 : 30382
來源 : [140.123.112.35]
最後登入時間 :
2024-10-06 16:01:00
a021. 大數運算 | From: [140.128.136.154] | 發表日期 : 2022-08-29 11:59

大佬能借串問一下0s 0kb需要什麼奇技淫法?有google keywords嗎?qq

 
ZeroJudge Forum