首页 > 系统相关 >全网首发 Python3 实现快读(按字符读入(省内存专用

全网首发 Python3 实现快读(按字符读入(省内存专用

时间:2023-11-03 22:57:00浏览次数:46  
标签:全网 return stdin 内存 读入 快读 Python3

全网首发 Python3 实现快读(按字符读入(省内存专用

来源:https://www.luogu.com.cn/discuss/724761

此题卡内存,如果按照 Python 常用的 input().split() 方法会 MLE。

因为 input() 一次读入大量字符串,占用内存极大。

于是打算按照 C++ 的快读逻辑写一个 Python3 的快读。

然而并没有那么简单。但是我也实现了,全网首发!

思路就是,利用 sys.stdin.read 的读入若干个字符功能,实现类似 C++ 的 getchar() 的功能,其余的与 C++ 类似啦。

from sys import stdin
def gc():
    return stdin.read(1)
def digit(c):
    if c == '':
        return False
    return ord(c) >= ord('0') and ord(c) <= ord('9')
def read():
    n, f, c = 0, 0, gc()
    while not digit(c):
        f, c = f | (c == '-'), gc()
    while digit(c):
        n, c = n * 10 + ord(c) - ord('0'), gc()
    if f:
        return -n;
    return n

如果您发现在此之前有人写出类似的程序,请私聊我(侵删。

标签:全网,return,stdin,内存,读入,快读,Python3
From: https://www.cnblogs.com/RainPPR/p/quan-wang-shou-fa-python3-shi-xian-kuai-du.html

相关文章

  • 文件读入和写入
    #include<bits/stdc++.h>#include<fstream>usingnamespacestd;intmain(intargc,char**argv){chardata[100];ofstreama;a.open("hehe.txt");cout<<"请写下你想对你的班主任的话,呵呵";cin>>data;a&......
  • centos7 python2和python3共存
     ln-s/usr/local/python3/bin/python3/usr/bin/python #测试[root@operationbin]#pip3-Vpip18.1from/usr/local/python3/lib/python3.6/site-packages/pip(python3.6)#使用[root@operationbin]#pip3install包名或者[root@operationbin]#pyth......
  • 读入读出优化
    TJDXT先放代码之后再说原理,如果实在不想知道原理,就直接背过,但是建议看一下下面的注意事项和后面的前几个原理。代码实现#include<bits/stdc++.h>usingnamespacestd;#definelllonglong#definerlregisterll#definefom(i,a)for(inti=a;i;--i)#definefoa(i,......
  • 如何安装Python3.8版本的TensorFlow?
    condainstallkeras 现在tensorflow2.4支持3.63.73.8可以放心安装pipinstalltensorflowDownloadinghttps://mirrors.aliyun.com/pypi/packages/59/9b/tensorflow-2.5.0-cp38-cp38-manylinux2010_x86_64.whl(454.4MB)升级的话可以加个--upgradepipinstalltensorf......
  • 如何在linux系统中安装python3.8.1 并卸载 python3.6.2 更新python3引导到3.8.1
    安装python3.8.1步骤1:检查Python版本在终端中输入以下命令来检查当前安装的Python版本:python--version步骤2:安装编译Python所需的依赖项更新系统软件包,并安装构建Python所需的一些工具和库。在终端中运行以下命令:sudoaptupdatesudoapt-getinstall-ybuild-essen......
  • linux 安装 python3.10
    aptupdateaptinstallbuild-essentialzlib1g-devlibncurses5-devlibgdbm-devlibnss3-devlibssl-devlibreadline-devlibffi-devlibsqlite3-devwgetcurlllvmlibncurses5-devlibncursesw5-devxz-utilstk-devlibffi-devliblzma-devpython3-opensslgitwget......
  • python3_图像
    图像读取的Image.open()和cv2.imread()的区别-CSDN博客报错:ModuleNotFoundError:Nomodulenamed'PIL'解决方法-CSDN博客wordcloud:raiseValueError(“OnlysupportedforTrueTypefonts“)_是傻羊啊的博客-CSDN博客环境配置:#pipinstallpillow fromPILimport......
  • [-005-]-Python3+Unittest+Selenium Web UI自动化测试之页面滑动
    1.上下滑动a.滑动#滑动至页面底部:js1="window.scrollTo(0,document.body.scrollHeight)"self.driver.execute_script(js1)#滑动至页面顶部:js2="window.scrollTo(0,0)"self.driver.execute_script(js2)c.纵向滚动条通过scrollBy坐标来滚动#纵向滚动条通过scr......
  • centos7:安装python3.6.8:安装uvicorn、fastapi、pymysql:指定国内的pypi镜像源
    yuminstallpython3python3-develgccmakelibaio-develpip3install-ihttp://mirrors.aliyun.com/pypi/simple--trusted-hostmirrors.aliyun.com"uvicorn[standard]"==0.16.0pymysqlfastapi 关键点:因为centos7的软件仓库中,python3的版本比较低:python3-3.6.8-1......
  • python3.8 debug记录
    AttributeError:module'numpy'hasnoattribute'typeDict'pip3installnumpy==1.18.5ModuleNotFoundError:Nomodulenamed'sklearn'pipinstallscikit-learn(注:安装这个库可能与已有的numpy版本冲突,需要多卸载安装几次)......