牛逼起来了

P2572 [SCOI2010] 序列操作

peterwuyihong @ 2021-10-19 22:01:02

猫猬兽写了个暴力,然后过了。。。

除了O2其他优化啥都没加

卡ODT的时候忘了暴力吗

还有最重要一点

为什么这个题有人想过去打暴力啊


by peterwuyihong @ 2021-10-20 08:04:37

@Isshiki·Iroha 你在你电脑上开O2跑一个

for(int i=1;i<=2e9;i++);

试试


by peterwuyihong @ 2021-10-20 08:06:31

然后你大概就会发现瞬间跑完了


by peterwuyihong @ 2021-10-20 08:07:32

你再跑一个

long long ans=0;
for(int i=1;i<=2e9;i++)ans+=i;
cout<<ans;

也会瞬间跑完


by Isshiki·Iroha @ 2021-10-20 08:07:36

用了 #pragma GCC optimize(2) 瞬间就出来了


by peterwuyihong @ 2021-10-20 08:08:13

这种暴力不开O2肯定是比你的那个暴力慢的,开了就会有神奇优化


by Isshiki·Iroha @ 2021-10-20 08:10:22

哈?

但是我发现一个问题:

int main() {
    int s=0;
    for(int i(1);i<=114514;++i)s+=i;
    cout<<s<<" "<<(s<0);
    return 0;
}

这个代码的 s 最后会溢出,所以 s<0 应该 return true,但是开了 O2 就是 false


by peterwuyihong @ 2021-10-20 08:11:42

哎,谁晓得呢

O2这玩意儿估计不是凡人驾驭的了的


by Isshiki·Iroha @ 2021-10-20 08:13:01

爬了,反正考试不让手开


by myee @ 2021-10-20 08:15:31

@Isshiki·Iroha

int 溢出是 UB


by Isshiki·Iroha @ 2021-10-20 08:19:19

@myee

所以未定义行为 O2 是不会管的对吧


上一页 | 下一页