C++IO流加速

竞赛专用,避免出现经常出现数据集超大造成 cin TLE的情况。

ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);

在默认的情况下cin绑定的是cout,每次执行 <<操作符的时候都要调用flush,这样会增加IO负担。可以通过tie(0)(0表示NULL)来解除cin与cout的绑定,进一步加快执行效率。
cin,cout之所以效率低,是因为先把要输出的东西存入缓冲区,再输出,导致效率降低,而这段语句可以来消除iostream的输入输出缓存,可以节省许多时间,使效率与scanf与printf相差无几.
注意:使用IO加速时,不能用getchar()吃换行符,应该不能理解其中的缘由吧(缓存)

你可能感兴趣的:(C/C++学习)