C++卡常

原创 2018年04月16日 15:43:53

1.读入优化(*)

低阶版:

inline int read()
{
	int x=0,f=1;
	char ch=getchar();
	for(;ch<'0'||ch>'9';ch=getchar())
		if(ch=='-') f=-1;
	for(;ch>='0'&&ch<='9';x=(x<<3)+(x<<1)+(ch^48),ch=getchar());
	return x*f;
}


高阶版:

inline char getc()
{ 
    static char buf[1<<18],*fs,*ft;
    return(fs==ft&&(ft=(fs=buf)+fread(buf,1,1<<18,stdin)),fs==ft)?EOF:*fs++;
}
inline int read()
{ 
    char ch=getc(),f=1;
    int x=0;
    for(;!isgraph(ch);ch=getc());
    if(ch=='-') f=-1,ch=getc();
    for(;isdigit(ch);ch=getc())
        x=((x+(x<<2))<<1)+(ch^0x30);
    return x*f;
}
注意用上#include<ctype.h>

PS:输出优化快不了多少(或许是我太弱了,不知道更好的板子)



2.register

举个例子for(int i=1;i<=n;i++)   =>   for(register int i=1;i<=n;i++)



3.inline

举个例子int add(int x,int y){return x+y;}   =>   inline int add(int x,int y){return x+y;}



4.位运算(*)

举个例子x*=2   =>   x<<=1



5.减少使用STL(*)

STL是一个常数非常大的东西。



6.用上define

define比赋值要快!!!



只要你的“暴力”不是很“暴力”,TLE1~2个点时,应该够用了。

带*号的真的很有用!!!

乱码大全(五)

 1. GB码和Big5码    GB码是中国大陆、新加坡等国家和地区使用的一种汉字编码方法。Big5码是中国台湾省用的一种汉字编码方法。它们的编码方法是完全不同的两种方法,它们之间的转换只能通过“查...
  • neil
  • neil
  • 2001-08-31 02:03:00
  • 2755

{搬运}C++卡常技巧

来自各类不知名网站 良莠不齐 针对C++ ++i快于i++ int x(5) 快于int x = 5 尽力减少除法运算 善用#define 未完待续…...
  • FarmerJohnOfZS
  • FarmerJohnOfZS
  • 2017-03-06 20:00:26
  • 491

关于卡常的基本姿势和奇技♂巧

Preface这周被两道恶心死人不偿命的无良辣鸡题目卡常卡的生不如死,一怒之下,有了这篇文章Text首先,如果这是一道跟实数有关的题,比如说开方。 建议将开方挪到外面,用整数运算,因为实数运算是很慢...
  • hzj1054689699
  • hzj1054689699
  • 2017-04-21 20:43:30
  • 726

几种常见卡的简单介绍

以后内容为从网络摘录:几种常见卡的简单介绍:1.M1卡M1卡是非接触式感应卡,数据保存期为10年,可改写10万次,读无限次。无电源,自带天线,工作频率为13.56MHZ.内含加密控制逻辑和通讯逻辑电路...
  • yobsun
  • yobsun
  • 2016-07-05 11:17:07
  • 479

BZOJ4882: [Lydsy2017年5月月赛]卡常生成树

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4882 Description 小Q最近沉迷底层优化,他终于将他的MST模板优化到了很可...
  • qq_38121348
  • qq_38121348
  • 2017-05-22 12:24:59
  • 276

C++ 常函数

类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。 在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,...
  • shixiaoguo90
  • shixiaoguo90
  • 2014-05-12 22:42:41
  • 4044

玲珑杯#3 G 1043 - G. Quailty and Square Counter【线段树-卡常数】

题目链接:1043 - G. Quailty and Square Counter首先,x向x^2%2017建边,跑一跑找找规律,能发现环套树一共有14个,每个的环最大6,且在环上的点一共64个,且不...
  • u013368721
  • u013368721
  • 2016-09-30 18:19:49
  • 821

c++ 常成员函数 和 常对象

先明确几个概念: 1. 常对象只能调用常成员函数。 2. 普通对象可以调用全部成员函数。...
  • zhuyingqingfen
  • zhuyingqingfen
  • 2014-06-17 13:30:17
  • 7437

解决VM虚拟机导致硬盘灯常亮,很卡的问题 解决VM虚拟机导致硬盘灯常亮,很卡的问题

vmdk目录下的vmem文件导致的问题,vmem文件相当于系统里的分页文件,虚拟机开机的时候生成这个文件硬盘读写导致硬盘灯常亮,很卡很慢的问题,这个文件在关闭虚拟机的时候又会自动删除。 如果物理...
  • binyao02123202
  • binyao02123202
  • 2013-11-06 16:28:33
  • 7030

C++常对象及其成员

C++虽然采取了不少有效的措施(如设private保护)以增加数据的安全性,但是有些数据却往往是共享的,人们可以在不同的场合通过不同的途径访问同一个数据对象。有时在无意之中的误操作会改变有关数据的状况...
  • oqqQuZi1234567
  • oqqQuZi1234567
  • 2014-12-11 13:38:38
  • 1554
收藏助手
不良信息举报
您举报文章:C++卡常
举报原因:
原因补充:

(最多只允许输入30个字)