面对一个时间复杂度要求极高的题目,就不得不采用快读了。
本来懒得学,后来发现不得不学。。。。
将数据以字符的形式读入再手动转换成数字,这样在数据量极大的时候,效率会提高非常多。并且位运算也是及其高效率的
//快读
//字符串转数字——sum=sum*10+ch-'0'
inline void read(long long& x) {
long long re = 0; bool flag = false;
//当ch不为数字时,将一直读下去
char ch = getchar();
while (ch < '0' || ch > '9') {
flag = ch == '-';
ch = getchar();
}
while (ch >= '0' && ch <= '9') {
re = (re << 1) + (re << 3) + (ch ^ 48);
ch = getchar();
}
x = flag ? (~re + 1) : re;
}