__int128:懒人的福音

前言

对于一个懒懒的,不想写高精的人(就是我),每次都会遭遇到答案爆$long$  $long$的危险

比如说这道题:

题目传送门

最后的$23-25$的两个点,$long$  $long$甚至$unsigned$  $long$  $long$都无法满足,难道真的要手打高精度了吗?

不,我们有$\_$$\_$$int$$128$!

那么这到底是什么 可以吃吗 

关于$\_$$\_$$int$$128$

先来看看一些常见的整数变量能存的范围与占用的字节:

类型名称 占用字节 存储范围
$int$ $4$ $-2^{31}$ ~ $2^{31}-1$
$long$  $long$ $8$ $-2^{63}$ ~ $2^{63}-1$
$unsigned$  $long$  $long$ $8$ $0$ ~ $2^{64}-1$

再来看看$\_$$\_$$int$$128$

存储范围为$-2^{127}$ ~ $2^{127}-1$,但是占用了$128$字节

虽然内存占的多,但存储范围依然多

那么如何使用?

输入

其实就是把快读输入改了一改

__int128 read()
{
    __int128 x=0;
    char ch=getchar();
    while(ch<'0' || ch>'9') ch=getchar();
    while('0'<=ch && ch<='9') x=x*10+ch-'0',ch=getchar();
    return x;
}
...
__int128 n=read();

输出

其实也是把快输改了一改

void write(__int128 x)
{
  if(x<0) x=-x,putchar('-');
    if(x>9) write(x/10);
    putchar(x%10+'0');
}
__int128 n;
n=...
write(n);

 

写在最后

$\_$$\_$$int$$128$是好,但是用的时候一定一定要注意空间限制!

当然,$\_$$\_$$int$$128$并不能完全取代高精,所以如果$\_$$\_$$int$$128$过不掉时,还是老老实实打高精吧!

本文转载于网络 如有侵权请联系删除

相关文章

  • ajax怎么解决报414,关于c#:HTTP错误414。请求URL太长。 asp.net

    大家好,又见面了,我是你们的朋友全栈君。我收到错误”HTTP错误414。请求URL太长”。从下面的文章中,我了解到这是由于查询字符串很长所致:在web.config中,我有maxQueryStringLength=”2097151″。这是最大值吗?为了解决此问题,我应该在web.config中设置maxUrl吗?如果是这样,支持的最大值是多少?我该怎么办才能解决此错误?是否可以将URL中的某些长字符串替换为整数或Guid?如果网址中有任何来自有限列表的长字符串变量,那么像这样的某种映射可能会让您缩短网址?实际上是从http.sys而不是IIS引发此错误。在将请求传递到请求处理管道中的IIS之前,将引发该错误。要验证这一点,您可以按照https://stackoverflow.com/a/32022511/12484检查HTTP响应标头中的Server标头值。若要使https.sys接受更长的请求URL而不引发HTTP414错误,请在服务器PC上的Windows注册表中的ComputerHKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesHT

  • 最详细的 Python 结合 RFM 模型实现用户分层实操案例!

    本文为读者投稿写在最前:做数据分析的小伙伴可能多多少少都知道一些分析方法,但是谈到分析思维却没有底气或者遇到业务问题,不知道如何下手。如果你有上述困惑,那么本篇文章可以作为参考。下图是整理的分析方法论及方法。如果能够灵活运用,将能够解决工作中80%以上问题。注意的是,方法论是思维层面,方法是执行层面。那么,重点是我们如何将其应用到实际业务中。本文将以RFM模型为例,运用到实际案例中。(本文以Python实现,Excel也可以。)数据分析思维项目背景:某生鲜外卖APP于2018年1月1日成立,主营新鲜蔬菜瓜果,海鲜肉禽。APP上线后,市场推广期为一年。通过分析发现原来几个重要的客户被竞争对手挖走了,而这几个用户对平台贡献了80%的销售额。之前对所有用户采用一样的运营策略,为了解决这个问题,需要对用户进行分类,了解当前用户分层情况,进行精细化运营。一、整体分析流程1、分析目的:用户分类 2、数据获取:Excel数据 3、清洗加工:Excel、Python 4、建立模型:RFM 5、数据可视化 6、结论与建议二、RFM模型的理解最终将RFM模型处理后的结果,作为用户标签,帮助运营更精准地制

  • 练习2-17 生成3的乘方表 (15分)

    一、题目描述输入一个非负整数n,生成一张3的乘方表,输出~的值。可调用幂函数计算3的乘方。输入格式:输入在一行中给出一个非负整数n。输出格式:按照幂的递增顺序输出n+1行,每行格式为“pow(3,i)=3的i次幂的值”。题目保证输出数据不超过长整型整数的范围。输入样例:3输出样例:pow(3,0)=1 pow(3,1)=3 pow(3,2)=9 pow(3,3)=27二、思路分析本题也是非常简单了,只需要使用pow()函数输出~的值即可。具体步骤如下:定义、输入非负整数n。使用for循环计算pow(3,0)~pow(3,n)的值并逐行输出。三、参考代码根据以上分析,给出参考代码如下:#include<stdio.h> #include<math.h> intmain() { intn; scanf("%d",&n); inti; for(i=0;i<=n;i++) { printf("pow(3,%d)=%d\n",i,(int)pow(3,i)); } return0; }复制

  • 自动做多参考态计算的程序MOKIT

    本公众号之前发过几篇多组态(multi-configurational)方法的介绍:用Gaussian做CASSCF计算用Gaussian寻找圆锥交叉点广义价键波函数(GVB)简介广义价键计算及初始轨道的构造 GVB和CASSCF在精度上通常仅是定性正确,定量上差强人意,若需要高精度的结果或与实验值对比,需要进一步做多参考态(multi-reference)方法的计算。GVB、CASCI、CASSCF和DMRG这些(本质上)是多组态波函数,它们是多参考态方法的参考态(reference)。最最常见的多参考态方法有CASPT2、NEVPT2和MRCISD三种,基于CAS或DMRG参考态的都有很多文章发表,相应可以称为CASSCF-NEVPT2、DMRG-NEVPT2等。D.G.Truhlar和L.Gagliardi等人还提出过基于CAS的MC-PDFT方法,后来也推广到了DMRG-PDFT,由于动态相关是用DFT考虑的,比前述几种多参考态方法计算上经济一些。多组态或多参考态方法计算步骤复杂,要求用户有丰富的计算经验和较强的化学直觉,很多计算(注意仅是写输入文件就)需要有电子结构方法的基础

  • vn.py源码解读(十、参数优化)

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qtlyx/article/details/89388356 任何一个策略,在初步回测之后,都会有一个参数寻优的过程。这个过程vnpy给大家实现了。其实这个是最简单了,说白了就是换参数多跑几次回测嘛。但是,说的直白点,vnpy的参数寻优在代码上来讲是不够高效的,原因很简单,我们其实可以进行一次数据回放就可以完成很多组参数的回测,而不是一组参数回放一次。我们简单过一下代码吧,这部分比较简单。之前我们是配置好之后就调用bactest了,但是如果是优化的话,就换了一个调用的东西了。参数的设置是一样的,不过在进行参数寻优之前,我们要做的就是设置好参数寻优的配置。#跑优化 setting=OptimizationSetting()#新建一个优化任务设置对象 setting.setOptimizeTarget('capital')#设置优化排序的目标是策略净盈利 setting.addParameter('atrLength',12,54,2)#增

  • /etc/security/limits.conf的相关说明

    通过ulimit -n命令可以查看Linux系统里打开文件描述符的最大值,一般缺省值是1024,对一台繁忙的服务器来说,这个值偏小,所以有必要重新设置linux系统里打开文件描述符的最大值。那么应该在哪里设置呢?最正确的做法是在/etc/security/limits.conf里设置:[root@localhostsecurity]#ulimit-a corefilesize(blocks,-c)0 datasegsize(kbytes,-d)unlimited schedulingpriority(-e)0 filesize(blocks,-f)unlimited pendingsignals(-i)30518 maxlockedmemory(kbytes,-l)64 maxmemorysize(kbytes,-m)unlimited openfiles(-n)1024 pipesize(512bytes,-p)8 POSIXmessagequeues(bytes,-q)819200 real-timepriority(-r)0 stacksize(kbytes,-s)10240 c

  • 论文实践学习 - Faster R-CNN 测试

    FasterR-CNN测试[Code-Caffe]摘要: FasterR-CNN实践学习 环境:Ubuntu14.04,py-faster-rcnn 1.FasterR-CNN编译配置下载源码 gitclonegit@github.com:rbgirshick/py-faster-rcnn.git#FasterR-CNNpython源码gitclonegit@github.com:rbgirshick/caffe-fast-rcnn.git#对应版本的caffe编译Cython模块 cd$Faster_RCNN_ROOT/libmake编译Caffe和Pycaffe 编译前对Makefile.config进行的配置: WITH_PYTHON_LAYER:=1USE_CUDNN:=1 ​编译: cd$Faster_RCNN_ROOT/caffe-fast-rcnnmakeall-j8makepycaffe下载提供的FasterR-CNN检测模型 #作者提供的的地址貌似下载不了了,有需要的可联系 将下载的faster_rcnn_models解压,放置路径为$Faster_RCNN_ROOT

  • 大数据案例:啤酒尿布的关联算法怎么来的?

    故事背景:在一家超市中,通过大数据分析发现了一个特别有趣的现象:尿布与啤酒这两种风马牛不相及的商品的销售数据曲线竟然初期的相似,于是就将尿布与啤酒摆在一起。没想到这一举措居然使尿布和啤酒的销量大幅增加了。这可不是一个笑话,而是一直被商家所津津乐道的发生在美国沃尔玛连锁超市的真实大数据案例。原来,美国的妇女通常在家照顾孩子,所以她们经常会嘱咐丈夫在下班回家的路上为孩子买尿布,而丈夫在买尿布的同时又会顺手购买自己爱喝的啤酒。这个发现为商家带来了大量的利润,但是如何从浩如烟海却又杂乱无章的大数据中,发现啤酒和尿布销售之间的联系呢?这又给了我们什么样的启示呢?这就是关联!关联,其实很简单,就是几个东西或者事件是经常同时出现的,“啤酒+尿布”就是非常典型的两个关联商品。所谓关联,反映的是一个事件和其他事件之间依赖或关联的知识。当我们查找英文文献的时候,可以发现有两个英文词都能形容关联的含义。第一个是相关性relevance,第二个是关联性association,两者都可以用来描述事件之间的关联程度。其中前者主要用在互联网的内容和文档上,比如搜索引擎算法中文档之间的关联性,我们采用的词是relev

  • Redis学习笔记

    Redis学习记录 1、NoSQL数据库 NoSQL,泛指非关系型的数据库。 分类 键值(Key-Value)存储数据库 列存储数据库 文档型数据库 分类 Examples举例 典型应用场景 数据模型 优点 缺点 键值(key-value) TokyoCabinet/Tyrant,Redis,Voldemort,OracleBDB 内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。 Key指向Value的键值对,通常用hashtable来实现 查找速度快 数据无结构化,通常只被当作字符串或者二进制数据 列存储数据库 Cassandra,HBase,Riak 分布式的文件系统 以列簇式存储,将同一列数据存在一起 查找速度快,可扩展性强,更容易进行分布式扩展 功能相对局限 文档型数据库 CouchDB,MongoDb Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容) Key-Value对应的键值对,Value为结构化数据 数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义

  • CSS格式化工具

    一直想自己写个css格式化工具,因为原先的《CSS代码格式化和压缩化》工具,压缩or格式化的都不是我的编码习惯。我的格式化工具也许代码方面细节方面都没他的好,但是符合自身需要的东西才是好东西。 从去年刚学CSS到上个月初,应该正好一年时间。这一年时间,我的CSS编码习惯一直是这样的: body,div,h1,h2,h3,h4,h5,h6,p,td,tr,form,ul,ol,li,dl,dt,dd,input,button,textarea{ margin:0; padding:0; } table{ border-collapse:collapse; border-spacing:0; margin:0; padding:0; line-height:17px; } h1,h2,h3,h4,h5,h6{ font-size:100%; font-weight:normal; } fieldset,img{ border:none; } ul,ol,li{ list-style:none; vertical-align:bottom; } a,a:link,a:visited,a:ho

  • 数据类型Block 粗解

    定义1、Block是OC中的一种数据类型,在iOS开发中被广泛使用2、^是Block的特有标记3、Block的实现代码包含在{}之间4、大多情况下,以内联inline函数的方式被定义和使用5、Block与C语言的函数指针有些相似,但使用起来更加灵活示例void(^demoBlock)()=^{   NSLog(@"demoBlock");};int(^sumBlock)(int,int)=^(intx,inty){   returnx+y;};格式说明:(返回类型)(^块名称)(参数类型)=^(参数列表){代码实现};如果没有参数,等号后面参数列表的()可以省略   调整block的局部变量注意点:在定义Block时,会在Block中建立当前局部变量内容的副本(拷贝)后续再对该变量的数值进行修改,不会影响Block中的数值如果需要在block中保持局部变量的数值变化,需要使用__block关键字使用__block关键字后,同样可以在Block中修改该变量的数值    

  • vue打包的路径问题

    因为应用上线的地址不是根目录,而vue打包之后的默认路径是从根目录开始算的,所以导致js跟css路径不对的问题 解决方法:修改config/index.js下面的代码,将assetsPublicPath:'/'跟路径修改为assetsPublicPath:'./'当前文件夹路径 解决之后,发现组件中的css的背景图片路径不对,无论放到static还是assets里面,最后解析出来的都是/static/img/static/img/...;很显然最后的结果图片都会打包进static里面,路径也会修改为根路径,但是在css中被当做是相对路径了 解决方法:修改在build/utils.js中代码,添加路径为../../;解析之后会变成../../static/xxx...,相当于将文件目录前移两层文件夹再向下获取 在没有后端配合的情况下打开路由history模式的时候,打包出来的文件也会是一片空白的情况, 解决://mode:'history',//将这个模式关闭就好 复制   

  • python 字符串前面加r,u的含义

    u/U:表示unicode字符串 不是仅仅是针对中文,可以针对任何的字符串,代表是对字符串进行unicode编码。 一般英文字符在使用各种编码下,基本都可以正常解析,所以一般不带u;但是中文,必须表明所需编码,否则一旦编码转换就会出现乱码。 建议所有编码方式采用utf-8,即在py文件开头添加:#coding:utf-8 r/R:非转义的原始字符串 与普通字符相比,其他相对特殊的字符,其中可能包含转义字符,即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。而如果是以r开头,那么说明后面的字符,都是普通的字符了,即如果是“\n”那么表示一个反斜杠字符,一个字母n,而不是表示换行了。 以r开头的字符,常用于正则表达式,对应着re模块。   注:python3默认编码方式就是utf-8,需要注意的是r。 1a="hello,\nworld" 2b=r"hello,\nworld" 3print("stringa:",a) 4print("stringb:",b)复制 输出:

  • P4859 已经没有什么好害怕的了(二项式反演)

    题目 思路 显然是恰好有\(\frac{n+k}{2}\)组\(a>b\) 令\(f(i,j)\)表示前\(i\)个糖果,已经有\(j\)组\(a>b\),剩下的没管的方案数 对\(a\)数组从小到大排序,设\(r_i\)表示比\(a_i\)小的\(b\)个数,那么\(r_i\)是递增的 有状态转移方程\(f(i,j)=f(i-1,j)+f(i-1,j-1)\times(r_i-j+1)\) 对于每个\(f(n,i)\),由于剩下的\(n-i\)对不知道大小情况,那么有\(f(n,i)\times(n-i)!\)种情况至少有\(i\)个匹配 设\(g_i\)表示恰好有\(i\)个匹配,那么\(f(n,i)\times(n-i)!=\Sigma_{j=i}^nC(j,i)\timesg_i\) 二项式反演后就是\(g_i=\Sigma_{j=i}^n(-1)^{j-i}C(j,i)\timesf(n,j)\times(n-j)!\) #include<bits/stdc++.h> #defineN2005 usingnamespacestd; typedeflon

  • 【Valine】评论系统魔改美化大全,添加自定义表情

    目录改进1自定义表情包改进2自定义语言BUG3BUG4BUG5,非最新版DesertsBUG6定时器策略其他记录MAIL_SUBJECTMAIL_TEMPLATEMAIL_SUBJECT_ADMINMAIL_TEMPLATE_ADMIN记得写BLOGGER_EMAIL 全文根据Deserts大佬的版本进行修改,现在评论没有办法添加图片 Deserts大佬的博客:【首选】 https://panjunwen.com/valine-admin-document/ Deserts的GitHub:【次选】 https://github.com/DesertsP/Valine-Admin 可改进: 作者cungudafa Valine-实现QQ邮箱识别生成头像地址(完美解决头像问题) https://blog.csdn.net/cungudafa/article/details/104638730/ Valine--修复评论者昵称跳转外链出错 https://blog.csdn.net/cungudafa/article/details/104652633 改进1自定义表情包 Valine自定义

  • 探索ASP.Net Core 3.0系列六:ASP.NET Core 3.0新特性启动信息中的结构化日志

    前言:在本文中,我将聊聊在ASP.NETCore3.0中细小的变化——启动时记录消息的方式进行小的更改。现在,ASP.NETCore不再将消息直接记录到控制台,而是正确使用了logging基础结构,来生成结构化日志。  翻译: AndrewLock  https://andrewlock.net/new-in-aspnetcore-3-structured-logging-for-startup-messages/     探索ASP.NETCore3.0系列一:新的项目文件、Program.cs和generichost 探索ASP.NetCore3.0系列二:聊聊ASP.NetCore3.0中的Startup.cs 探索ASP.NetCore3.0系列三:ASP.NetCore3.0中的Serviceprovidervalidation 探索ASP.NetCore3.0系列四:在ASP.NETCore3.0的应用中启动时运行异步任务 探索ASP.NetCore3.0系列五:引入IHostLifetime并弄清GenericH

  • AngularJS5.0 (第三篇)--设置代理解决跨域问题

    在项目目录下,新建proxy.config.json文件:    打开package.json文件,添加如下信息:    执行,ngstart启动项目(或者直接执行 ngserve--proxy-configproxy.config.json)  

  • 网易笔试题_优雅的点

    题目: 小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。例如:半径的平方如果为25优雅的点就有:(+/-3,+/-4),(+/-4,+/-3),(0,+/-5)(+/-5,0),一共12个点。输入描述:输入为一个整数,即为圆半径的平方,范围在32位int范围内。输出描述:输出为一个整数,即为优雅的点的个数输入例子1:25输出例子1:12   Java简单实现: 1packageinterview.test; 2 3importsun.util.resources.CalendarData_uk; 4 5importjava.util.Scanner; 6 7/** 8*CreatedbyBUAA514on2018-08-10. 9*/ 10publicclassNetTest2{ 11 12/** 13*简单思路:算出半径,然后从0开始,到半径的各个数,计算平方和是否满足,满足条件更新计数, 14*否则,更行下一轮计算的首尾位置,首++;尾=根号下(输入数-首

  • 跨域 子页面关闭 刷新父页面

    子页面js functionselectRow(id,brand,product){ varitemObj={id:id,brand:brand,product:product}; window.opener.postMessage(JSON.stringify(itemObj),'*'); window.close(); }复制 父页面JS functionreceiveMessage(e){ vard=JSON.parse(e.data); setItemCode(d.id,d.brand,d.product); } window.addEventListener("message",receiveMessage,false);复制 这种方法可以解决俩个页面不在同一个页面,关闭子页面刷新父页面,这个方法有风险,就是子页面和父页面不是一对一关系,可以判断   还有一种方法就是在子页面中嵌入ifram给个空白页面链接。

  • ubuntu系统下使用CMAKE配置libtorch及opencv

    一、准备 在安装opencv库之前,需要预先安装一些必要的依赖项: sudoapt-getinstallbuild-essentialcmakegitlibgtk2.0-devpkg-configlibavcodec-devlibavformat-devlibswscale-dev复制 如果没有安装这些依赖项,会出现opencv库不能正常运行的状况! 二、配置opencv 可以查看:Linux下安装OpenCV4(适用于Ubuntu等)-简书(jianshu.com) 但是opencv4有可能不能与libtorch同时运行,所以建议下载opencv3的版本 下载好opencv3后,对其进行解压,并创建子文件夹release。在终端输入以下命令: cmake-DCMAKE_BUILD_TYPE=Release\ -DOPENCV_GENERATE_PKGCONFIG=ON\ -DCMAKE_INSTALL_PREFIX=/usr/local..复制  接着make一下: make-j7 sudomakeinstall复制  此后,需要把opencv写入系统的环境变量中,使他随

  • 洛谷 P2043 质因子分解 分解质因数

    题目描述 对N!进行质因子分解。 输入输出格式 输入格式:   输入数据仅有一行包含一个正整数N,N<=10000。   输出格式:   输出数据包含若干行,每行两个正整数p,a,中间用一个空格隔开。表示N!包含a个质因子p,要求按p的值从小到大输出。   输入输出样例 输入样例#1: 复制 10复制 输出样例#1: 复制 28 34 52 71复制 说明 10!=3628800=(2^8)*(3^4)*(5^2)*7   与数论硬刚到底。。。 质因数:质因数(或质因子)在数论里是指能整除给定正整数的质数。两个没有共同质因子的正整数称为互质。因为1没有质因子,1与任何正整数(包括1本身)都是互质。正整数的因数分解可将正整数表示为一连串的质因子相乘,质因子如重复可以指数表示。根据算术基本定理,任何正整数皆有独一无二的质因子分解式。只有一个质因子的正整数为质数。 举几个例子吧 6的质因数是2和3 2,4,6,8的质因数只有2 那么对于这道题来说,我们只要分解阶乘的每一位就好了(真的算完的话会炸) 完整代码

相关推荐

推荐阅读