不开long long见祖宗 & 关于卡常
查看原帖
不开long long见祖宗 & 关于卡常
240724
FFFFFAN楼主2023/8/8 01:11

如果你只WA#17#19,大概率是没开long long造成的。其实考虑一下极端情况,确实是可能超过1e9的。

当然,不能光开long long就完事了,更绝对不能 define int long long,否则你将收到来自long long运算超大常数的降维打击,导致你至少TLE#17。这里讲一下我的卡常做法:

首先,块长改成1145(没错,回滚莫队的块长就是这么玄学),然后,只给存答案的变量和数组开long long,并且在修改答案的时候,先开一个 int delta,所有对答案的修改都改到这个 delta 上,最后在把 delta 加到答案上,减少了long long级别的运算(来自讨论区某大佬的卡常技巧,非常感谢!)。

顺带一提,亲测这两个卡常少了一个都过不去#17,两个一起上刚好能过。

2023/8/8 01:11
加载中...