实际上,我遇到了一个竞争性问题,我需要输入大量数据,但是我遇到了TLE错误,因此除了传统的减少TLE的方法之外,还有其他方法吗?
我尝试了一些技巧,但不起作用。
#include<bits/stdc++.h> //rather than other files
ios_base :: sync_with_stdio(false);
cin.tie(NULL)
时间减少了但没那么多。
那么除了这些以外,还有没有其他方法可以减少将整数输入到数组的输入时间?
答案 0 :(得分:1)
scanf()的输入速度比cin快。仅当无法使用scanf()和printf()时才建议使用sync_with_stdio(false)
和cin.tie(NULL)
行。
对于输入整数的更快方法,您可以尝试以下来源:https://www.hackerearth.com/practice/notes/fast-io-optimization-in-c/
答案 1 :(得分:0)
您应该增加输入缓冲区。这将大大提高您的大数据性能:
constexpr size_t BufferSize = 65536;
char buffer[BufferSize ];
std::ifstream file{};
file.rdbuf()->pubsetbuf(buffer, BufferSize );
使用大缓冲区进行读取也会更快。 请尝试。