输入处理

快速读入

    ll f=1;char c;
    for(x=0,c=getchar();c<'0'||c>'9';c=getchar()) if(c=='-') f=-1;
    for(;c>='0'&&c<='9';c=getchar()) x=(x<<1)+(x<<3)+(c^48); x*=f;
}

功能:高效读取大整数 n(适配 (10^{18}) 范围)。

优化点:用位运算(x<<1 等价 (x2),x<<3 等价 (x8))和字符异或(c^48 等价 c-'0')替代乘法和减法,提升读取速度。

全部评论

相关推荐

12-13 14:51
已编辑
井冈山大学 算法工程师
龙虾x:算法比你强的没有你美,比你美的…..算了已经没有比你美的了
工作两年想退休了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务