关于读入速度
  • 板块学术版
  • 楼主linzilOng_o
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/9/15 13:56
  • 上次更新2024/9/15 16:50:21
查看原帖
关于读入速度
1028047
linzilOng_o楼主2024/9/15 13:56

连续读入 nn 个数字,分别用三种读入:

  1. ios::sync_with_stdio(0) + cin.tie + cin>>var
  2. scanf("%d",&var)
  3. 快读
namespace IO
{
    char ibuf[(1 << 20) + 1], *iS, *iT;
#if ONLINE_JUDGE
#define gh() (iS == iT ? iT = (iS = ibuf) + fread(ibuf, 1, (1 << 20) + 1, stdin), (iS == iT ? EOF : *iS++) : *iS++)
#else
#define gh() getchar()
#endif
    inline long long read()
    {
        char ch = gh();
        long long x = 0;
        bool t = 0;
        while (ch < '0' || ch > '9')
            t |= ch == '-', ch = gh();
        while (ch >= '0' && ch <= '9')
            x = x * 10 + (ch ^ 48), ch = gh();
        return t ? -x : x;
    }
    inline char getc()
    {
        char ch = gh();
        while (ch < 'a' || ch > 'z')
            ch = gh();
        return ch;
    }
}
using IO::getc;
using IO::read;

然后 var=read()

此时这些读入方式的速度 nn 的取值分别在哪些范围会最快?

2024/9/15 13:56
加载中...