在ACM的比赛中很多时候会用到最大值
一般的话在int范围内定义最大值inf=0x3f3f3f3f, 因为0x3f3f3f3f的十进制值为1061109567 ,2* (0x3f3f3f3f)<int范围内最大值,不会因为inf+inf的计算而爆int范围
int范围内也可以用inf = 0x3fffffff
在 long long int 的范围内 令 inf=0x3f3f3f3f3f3f3f3f ,此时inf的值4557430888798830399 ,long long int 的最大值为 9223372036854775807,此时2*inf<long long int 最大上限,也不会因为inf+inf的计算而爆long long int范围
本文介绍了在ACM竞赛中如何合理设置整数的最大值,以避免因数值溢出而导致的问题。对于int类型,推荐使用0x3f3f3f3f作为最大值;对于long long int类型,则推荐使用0x3f3f3f3f3f3f3f3f。这些值既能确保足够的大小,又能避免在进行加法等操作时超出类型的最大限制。
1156

被折叠的 条评论
为什么被折叠?



