.
m
m
a
p
mmap
mmap真的是黑科技,用了之后时间减半
但是输出还是只能靠
w
r
i
t
e
write
write,不知道为什么用
m
m
a
p
mmap
mmap会
R
E
RE
RE
应该算是一个比较好的快速读写模板了吧,到时候再把输出也换成
m
m
a
p
mmap
mmap
(以下代码均在
L
i
n
u
x
Linux
Linux环境下编译,
w
i
n
d
o
w
s
windows
windows的
g
+
+
g++
g++不行)
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<algorithm>
#include<sys/mman.h>
using namespace std;
struct buf{
char*s;
buf():s((char*)mmap(0,150000010,PROT_READ,MAP_PRIVATE,fileno(stdin),0)){}
operator int(){
int x=0,y=0;
while(*s<48) ++s;
while(*s>32) x=x*10+*s++-48;
return x;
}
}it;
struct ouf{
char*s,*t,*r,*l;
ouf():s((char*)malloc(500000000)),r((char*)malloc(20)),t(s){}
~ouf(){ write(1,s,t-s); }
inline void operator()(int x){
if(!x) *t++=48;
else{
for(l=r;x;x/=10) *++l=x%10|48;
for(;l!=r;*t++=*l--);
}
*t++='\n';
}
} ot;
int main(){
ot(it+it);
}