两个TLE解决方法

P1440 求m区间内的最小值

NFCcod @ 2024-07-08 19:49:06

两个TLE解决方法

我相信大家都会发现有两个TLE,我的解决方法就是把cout换成printf

printf由于是c++标准库,很古老,速度比cout快的很多,我两个TLE直接压到200ms

我直接把这块发出来,不是全部代码管理员别删,不会用printf的可以参考

printf("%d\n",数组位置/变量名);

懒得解释,把加粗斜体换成变量名或者数组位置


by asd890123 @ 2024-07-09 15:54:59

@NFCcod

乐子,cout关闭同步+用'\n'换行不知道比printf快多少倍,都能跟快写肩并肩了(在谷哥评测机上cin关流比scanf快很多,但没有快读快)

by NFCcod @ 2024-07-10 20:12:24

@asd890123 忘说了,大佬勿喷这方面我只管最简单和大家都知道qwq


by asd890123 @ 2024-07-11 16:46:18

不是关键是printf古老,cout也古老,都是第一代c++标准的标准库中就有的,还有关个同步就不简单了吗,endl换成'\n'就麻烦了么,实在不习惯加上这句宏定义也行啊:

#define endl '\n'

printf慢,因为他要解析格式串,或者你直接记住结论:

cin/cout关流后(用'\n'换行)比scanf/printf快很多

@NFCcod


by _Kenma_ @ 2024-07-11 18:51:36

额,槽点有点多,我不知道从哪里说起了……

还有读写优化不是基操吗,不用你说的


by asd890123 @ 2024-07-12 09:25:47

@Kenma

你是说我还是说 @NFCcod


|