# Why use 0x3f3f3f3f as INF https://stackoverflow.com/questions/18429021/why-is-infinity-0x3f3f3f3f ## h2 [ref](https://blog.csdn.net/qq_41376345/article/details/104103686?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-1-104103686-blog-9468377.pc_relevant_multi_platform_whitelistv1_exp2&spm=1001.2101.3001.4242.2&utm_relevant_index=4) 在算法競賽中,我們常常需要用到設置一個常量用來代表“無窮大”。 比如對於int類型的數,有的人會採用INT_MAX,即0x7fffffff作為無窮大。但是以INT_MAX為無窮大常常面臨一個問題,即加一個其他的數會溢出。 而這種情況在動態規劃,或者其他一些遞推的算法中常常出現,很有可能導致算法出問題。 所以在算法競賽中,我們常採用0x3f3f3f3f來作為無窮大。0x3f3f3f3f主要有如下好處: 0x3f3f3f3f的十進制為1061109567,和INT_MAX一個數量級,即10^9數量級,而一般場合下的數據都是小於10^9的。 0x3f3f3f3f * 2 = 2122219134,無窮大相加依然不會溢出。 可以使用memset(array, 0x3f, sizeof(array))來為數組設初值為0x3f3f3f3f,因為這個數的每個字節都是0x3f。 https://blog.csdn.net/qq_41376345/article/details/104103686 ## h2 https://blog.csdn.net/sandalphon4869/article/details/105403458?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-105403458-blog-9468377.pc_relevant_multi_platform_whitelistv1_exp2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-105403458-blog-9468377.pc_relevant_multi_platform_whitelistv1_exp2&utm_relevant_index=2 ## h2 https://blog.csdn.net/hzh_0000/article/details/9468377
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up