今天看代码时发现一句 ans += yes[i] * 1LL * (yes[i] - 1) / 2; 其中用了1LL。LL其实代表long long, * 1LL是为了在计算时,把int类型的变量转化为long long,然后再赋值给long long类型的变量。代码中有这一行,long long ans = 0; 
 ans是long long类型的,ans += yes[i] * 1LL * (yes[i] - 1) / 2; 
 不至于后面计算溢出,* 1LL之后类型就转换为long long, yes内容是定义为int类型的。

京公网安备 11010502036488号