今天看代码时发现一句 :
if(dp[k]+1LL*a[j]*i+b[j] >= dp[k+(1<<j)])
其中用了1LL
。LL其实代表long long
, * 1LL
是为了在计算时,把int类型的变量转化为long long
,然后再赋值给long long
类型的变量。dp[]
是long long
类型的, if(dp[k]+1LL*a[j]*i+b[j] >= dp[k+(1<<j)])
不至于后面计算溢出,* 1LL
之后类型就转换为long long
, a[]内容是定义为int
类型的。