Style

Style for OI
int Scan(void)
{
    int s;
    char c;
 
    for(s = 0; (c = getchar()) != EOF && !isdigit(c); )
        ;
    do
        s = s * 10 + c - 48;
    while((c = getchar()) != EOF && isdigit(c));
 
    return s;
}
这里是我的代码大体遵循的写法。
变量名全部为单字符,而每个字符都有自己的含义。如果你无法读懂我的代码,可以参照下面的表(但这只是大部分情况,并不保证适合每份代码)。
a : 读入的内容
b : 读入的另外内容 / 数据备份 / 时间戳
c : 模拟 vector 时的元素个数 / 数量 / 基数排序
d : 最短路径时到每个点的距离 / 时间戳
e : vector 邻接表
f : 杂 / 程序的核心(例如 DP 的状态,ST 表等)
g : 杂 / 辅助 f
h : 杂 / 辅助 f 和 g / 高度
i : 循环变量
j : 循环变量
k : 循环变量 / 杂 / 类似 f,但是不是核心
l : 长度 / Tarjan 里面的最早时间戳
m : 输入的值
n : 输入的值
o : 答案
p : 上个 / 数据备份 / 位置
q : 询问 / 可能会与 p 相对(例如并查集)
r : 杂 / 反转 / 当前位置
s : 和 / 源点
t : 杂 / 汇点 / 临时变量 / 时间戳 / 真的是最杂的变量,基本上什么都有可能
u : 边的起点 / 访问标记
v : 边的终点 / 类似 k
w : 边的权值 / 类似 k
x : x 坐标 / 类似 a / 类似 k
y : y 坐标 / 杂
z : 大小 / 结点个数

特例:
ans : 可能在我很久以前写的代码中见到,作用与 o 相同
that : 仅会出现在类中,多用于重载运算符时与 this 相对
argc : 约定俗成
argv : 约定俗成
args : 约定俗成

实际上我并没有固定住我的代码风格。
你看到我写的 $\text{Code}$ 整体上风格差不多,那是因为我在潜移默化中就形成的,并且因为习惯而不想去改动的。
风格可能随时会变化,但是主要是进行小修正(例如最近的那次就是 int main(void)for 的分号后面加空格),并不会出现太大的改动。
$$\left ( \lim_{A\rightarrow \infty}\int ^{a}_{0}\left ( x^{\int^0_1\text{Riemann}(x)\, \mathrm{d}x} \right )\mathrm{e}^{-x}\, \mathrm{d}x \right )!+\lim_{p\rightarrow \infty}\left ( 1+\frac{1}{p} \right )^p$$ $$\lim_{n\rightarrow \infty}\sum _{i=0}^n2^{-i}\left ( -\sinh ^2(z)+\cosh ^2(z) \right )$$
这里是我使用数学符号的方法。
对于 $\sum,\prod$ 等大型符号,上标是个数而非上界 $$\sum _{i=0}^na_i$$ 实际上是在计算 $a_0+a_1+..+a_{n-1}$ 。
对于 $\sum,\prod$ 等大型符号,还可以用下标表示满足条件的 $$f[i]=\sum _{i\rightarrow j}f[j]$$ 是将点 $i$ 可以到达的所有点 $j$ 的 $f$ 值都累加到 $f[i]$ 内。
对于题目中输入的数据,用下标表示序号 $$a_i$$ 而对于自己定义的数组(最常见的就是 $\text{DP}$ 里面的 $f$),用方括号表示序号 $$f[i]$$ 也有可能使用函数类式的圆括号 $$f(i,\,j)$$
方括号同时可以表示强制转成 $0/1$ 类型 $$\sum _{i=0}^n[f[i]]$$ 实际上是在计算 $f[0],f[1],..,f[n-1]$ 中非 $0$ 元素的个数。

$\text{DP}$ 的状态转移,用 $=$ 来表示方程 $$f[i][j]=\max(f[i-1][j],f[i-1][j-1]+k)$$
位运算不使用 $\wedge,\vee,\oplus$ 等符号,而是用词代替之 $$\text{and},\text{or},\text{xor}$$
对于模算术,用 $\text{mod}$ 来表示求余(而不用 $\%$),并且 $2$ 个数同余的时候将用方程表示: $$a\equiv b\text{ (mod }p)$$ $$\sum_{i=1}^{n}\frac{n}{(n\text{ mod }i)+1}$$
正文的字母将全部使用小写,然而时空复杂度全部为大写 $$n\leq 5\cdot 10^5$$ $$\text{O}(N\log^2 M),\text{V}(M)$$ 且会用横杠表示预处理-单次询问 $$\text{O}(N\log N)-\text{O}(\alpha(N))$$