视频聊天系统源码读取加速大法

1.cin和cout速度比scanf和printf慢,sacnf和printf比getchar和putchar慢。
2.cin和cout,取消同步的话,可以达到和scanf和printf相同速度,具体代码如下:

 ios::sync_with_stdio(false);
 cin.tie(NULL);

3.如果还是tl,很有可能是算法的问题,或者极小可能还是读入太慢:
可以试试下面的读入输入外挂:

void quickread(int &x)
{
    char c = getchar(); x = 0;
    while(c < '0' || c > '9') 
	{
		c = getchar();
	}
    while(c <= '9' && c >= '0')
	{
		x = x*10+c-48;
		c = getchar();
	} 
}
void write(int x)
 {
     char F[200];
     int cnt=0 ;
        while(x>0)
       {
            F[cnt++]=x%10+'0';
            x/=10;
       }    
	   while(cnt>0)
	   {
	   	  putchar(F[--cnt]) ;
	   }
	   putchar('\n');
 }

4.还不行的话真的百分之99.9999可能是你算法问题了,当然还有百分之0.000001可能是读取太慢,不妨试试下面当今最快的fread读取外挂

char buf[1<<15], *fs, *ft;
inline char readc() {
    return (fs==ft&&(ft=(fs=buf)+fread(buf,1,1<<15,stdin),fs==ft))?0:*fs++;
}
inline int fast_read() {
    int r;
    char c;
    bool sig = false;
    while(c = readc()) {
        if(c >= '0' && c <= '9') {
            r = c^0x30;
            break;
        }else if(c == '-')sig = true;
    }
    while(isdigit(c = readc()))
        r = (r<<3)+(r<<1)+(c^0x30);
    return sig?-r:r;
}
void fast_write(int x) {
    if(x < 0) putchar('-');
    int a[12];
    int l = 0;
    while(x) {
        a[l++] = x % 10;
        x /= 10;
    }
    for(int i = l-1; ~i; i--)putchar(a[i] | 0x30);
    putchar('\n');
}
_______________________________________________________________________________________________________

int n;
n=fast_read();
fast_write(n);

你可能感兴趣的:(技术类,算法,printf,程序设计,jquery,hadoop)