我的码风


我的码风

1. 头文件

缺省源里是 #include,用的时候缺啥补啥。

2. 输入输出

写个快读快写,然后 n=re();wr(n),putchar('\n');

int re()
{
	int s=0,f=1;char ch=getchar();
	while(ch>'9'||ch<'0')
	{
		if(ch=='-')f=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9')
		s=s*10+ch-48,ch=getchar();
	return s*f;
}
void wr(int s)
{
	if(s<0)putchar('-'),s=-s;
	if(s>9)wr(s/10);
	putchar(s%10+48);
}

3. 大括号

单独一行,例如:

for(int i=fir[now];i;i=nex[i])
{
	int p=poi[i];
	...
	...
	...
}

但是只有一个语句不加大括号,如:

for(int i=1;i<=n;i++)
	a[i]=re();

4. 函数

喜欢手打小函数,而不是加头文件:

int max(int a,int b){return a>b?a:b;}
int swap(int &x,int &y){x^=y^=x^=y;}

而那种不被多次调用的(如 SPFA,倍增求 lca 的统计 \(2^k\) 级祖先)喜欢直接写在 main 中。

不用 namespace,我是绝对不可能告诉你是因为我不会才不用的

5. 结构体

只定义变量,构造函数和重载运算符,函数什么的写在外边。

特指树剖时的线段树。

6. 变量名

中规中矩的中英结合,如 pd,dis,val,小函数中多用单变量名,大函数会根据意思设置变量名。

7. 宏

用过两处:define int long long (懒)和 define IT set::iterator(珂朵莉树),前者写在头文件与名字空间之间,后者写在 Chtholly 结构体的下边。

8. STL

虽然常数大,但是经常用,比较懒。

9. 压行

不严重的压行习惯,(压但不完全压)。

不过不习惯有空行存在。

贴几个比较长的代码吧,感觉有纪念意义的。

CYaRon!语

Peaks

旅游

序列