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 是不会管的对吧