一些OI常用小技巧啊
1.卡常
\]
我们可能确实没有编译器聪明,但是,为了防止CCF的老人机出现什么问题,卡一卡常还是有必要的。
如果实在被逼无奈,你什么
\]
都能往上写
inline void qaq(int x)
{
//````````
for(register int i = 1; i <= x; i++)
//`````
}
2.快读
这部分其实也可以算到卡常里,但是这个其实更常用。
就比如,我曾经用\(register\)和快读把一个1.5s的程序硬生生卡到了947ms,然后就多过了一个点。。。
或者可以把一个程序卡掉700+ms
主要思想就是,用\(getchar\)和\(putchar\)快速读入替代\(cin,cout\)甚至\(scanf\)或\(printf\)。
当然,快读里也可以卡常。
#define ll long long
#define li inline
li void read(ll &x)
{
char s = getchar();
x = 0;
ll f = 1;
while(s < '0' || s > '9'){if(s == '-')f = -1; s = getchar();}
while(s >= '0' && s <= '9'){x = (x << 3) + (x << 1) + (s ^ 48); s = getchar();}
x *= f;
}
对于语句
x = (x << 3) + (x << 1) + (s ^ 48);
等价于
x = x * 10 + s - '0';
只是位运算比四则运算快,所以就小卡一下。
这里也直接把输出优化的代码给出
#define ll long long
#define li inline
li void print(ll x)
{
if(x < 0){putchar('-'); x = -x;}
if(x > 9)
print(x / 10);
putchar(x % 10 + 48);
}
持续更新中!
一些OI常用小技巧啊的更多相关文章
- Matlab常用小技巧及部分快捷键
Matlab常用小技巧一: 1. m文件如果是函数,保存的文件名最好与函数名一致,这点都很清楚.不过容易疏忽的是,m文件名的命名尽量不要是简单的英文单词,最好是由大小写英文/数字/下划线等组成.原因是 ...
- javascript的40个网页常用小技巧
下面是javascript的40个网页常用小技巧,对网站开发人员相信会有帮助.1. oncontextmenu="window.event.returnValue=false" 将 ...
- HBase Shell Get 操作常用小技巧
在工作中,有时候只是想简单看下HBase表某些关键指标的值,这个时候总不能现写Java代码去查看,以下几个小技巧你可能会经常用到. 1. 某行有许多列,只想获取指定2~3列的数据 hbase> ...
- 今天整理了几个在使用python进行数据分析的常用小技巧、命令。
提高Python数据分析速度的八个小技巧 01 使用Pandas Profiling预览数据 这个神器我们在之前的文章中就详细讲过,使用Pandas Profiling可以在进行数据分析之前对数据进行 ...
- Scala的常用小技巧
1."RichString.java".stripSuffix(".java") == "RichString" "http:// ...
- Visual Studio常用小技巧一:代码段+快捷键+插件=效率
用了visual studio 5年多,也该给自己做下备忘录了.每次进新的组换新的电脑,安装自己熟悉的环境又得重新配置,不做些备忘老会忘记一些东西.工具用的好,效率自然翻倍. 1,代码段 在Visua ...
- 使用JavaScript在项目前台开发的58种常用小技巧
oncontextmenu="return false" :禁止右键 onselectstart="return false" : 禁止选取 onpaste = ...
- PowerDesigner 的常用小技巧 转
中小 订阅 修改外键命名规则 选择Database—>Edit Current DBMS选择Scripts->Objects->Reference->ConstName可以发现 ...
- iOS 知识-常用小技巧大杂烩
原文链接:http://www.jianshu.com/p/7c3ee5e67d03. 自己看的. 1,打印View所有子视图 po [[self view]recursiveDescription] ...
- windows7实用快捷键 分类: windows常用小技巧 2014-04-18 14:34 169人阅读 评论(0) 收藏
几个比较实用的快捷键 windows键:简写成win win+ 方向键上下,可以使当前窗体放大或缩小 win+ 方向键左右,可以使当前窗体悬靠在左边或右边 win+Home 仅保留当前窗体 ...
随机推荐
- python tesseract-ocr 图文识别 (windows基础环境搭建)
python tesseract-ocr 图文识别 一,先进行Tesserocr安装下载 1,先点击进入下面的百度网盘链接: https://pan.baidu.com/s/1G5vZO2B4Mxx5 ...
- 利用Curl命令来发邮件的小工具
一个利用curl来发送邮件的小工具 其实可以扩展出很多其它玩法 例如: 配合系统定时任务做系统状态监控,当满足一定条件自动发送邮件 或者和笔者一样,每次加班后懒得编辑邮件,就可以直接传入相应的参数来发 ...
- Jax框架的性能分析——性能分析可视化
官方文档: https://jax.readthedocs.io/en/latest/profiling.html 将jax代码的性能文件写入到文件夹中,并给出上传第三方网站的链接生成(https:/ ...
- 台式机,华硕主板z390ws,cpu为i7-9700k 安装Ubuntu18.04系统 使用独立显卡工作 (但是显示器HDMI线缆插在主板的HDMI插槽)开机进入系统运行几分钟后自动重启,此时主板显示错误码为AMI错误
如题: 手上有这样一台新的工作站,配置为华硕主板z390ws,cpu为i7-9700k ,独立显卡为技嘉2060super, 安装Ubuntu18.04系统 . 在主板bios中进行设置(设置使用 P ...
- 【转载】 gym atari游戏的环境设置问题:Breakout-v0, Breakout-v4, BreakoutNoFrameskip-v4和BreakoutDeterministic-v4的区别
版权声明:本文为CSDN博主「ok_kakaka」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/clksjx/ ...
- VSCode 如何将已编辑好的python文件中的 tab 键缩进转换成4个空格键缩进
事情起源: 使用vscode维护一个7年前的python项目,发现编辑后运行报错,提示缩进错误,原因是当时的项目使用tab做缩进,而我正在用的vscode是使用4空格做缩进,因此造成了缩进不匹配的问题 ...
- Es java API官网手册
官方地址: 一.TransportClient客户端 https://www.elastic.co/guide/en/elasticsearch/client/java-api/7.5/index.h ...
- C#基础 - Cancellation
目录 前言 1,概览 1.1 Cancellation是合作性的 1.2 CancellationToken及其典型用法 1.3 CancellationToken的响应 1.4 一个容易搞错的点 2 ...
- 在 Python 中通过读取 .env 文件获得环境变量
在编写 Python 脚本时,我们会使用一些私密数据,如调用 API 时使用的 token.为了避免隐私泄露,这些私密数据一般不直接写入脚本文件中.而是写入一个文件,并通过读取文件的方式获取私密数据内 ...
- JVM笔记八-堆参数调优
JVM垃圾收集器(Java Garbage Collection).本教程均在JDK1.8+HotSpot为例来讲解的. 先来看看Java7的: 编辑 再来看看Jva8的 编辑 从上图中我们可 ...