在 这个帖子 中,除我以外的很多 OIer 都表示关同步流比 scanf/printf 快。
比如里面提到的这个例子:
这道题读入了 3⋅106 个数。
但是在 P8251 [NOI Online 2022 提高组] 丹钓战 这个题,您可以检索我的提交记录,这里放了其中五份:
这五份都是一模一样的使用关闭同步流读入的考试代码,前四份是我考完之后交的,第五份是我刚才交的。可以观察到最是有许多点 TLE。
但是当我们换为 scanf/printf 读入的时候,这份代码跑得快了很多:
第一份是我刚才交的,其他的都是我考后交的。都是一模一样的只是将前面那份代码的读入方式修改的代码,可以观察到完全是可以 AC 的而且与评测机波动 无关。
这道题的读入量最大为 2⋅106 个数。
这道题有 O2 优化,因此我的问题:
1.O2 是否影响读入方式的相对快慢,若影响,是否可以给出不同评测方式在 O2 下的速度排名?
2.是否可以给出“这么多的读入量适用的读入方式”的表?
3.解决这道题为什么 scanf/printf 快的问题。
相关内容:我的另一个帖子 关于 CCF 和你谷评测机差异和吸氧
代码二楼。