优秀竞赛选手常用的短变量名词典
一、 为什么要用“短变量名”?
在长达5个小时的比赛中,每一秒都至关重要。
- 减少击键次数:
cnt 比 count 少打4次键盘,sz 比 size 少打3次。一道题写几百行,能省下几分钟体力。
- 保持屏幕整洁:竞赛屏幕寸土寸金。短变量名让一行代码能放下更多逻辑,方便一眼看完。
- 思维连贯性:当你脑子里想的是“当前节点
cur 的父亲 fa”,手上敲出来的也是 cur 和 fa,思维到代码的转化几乎没有损耗。
记住:在竞赛中,代码是写给自己看的(而且是短时间内),不是写给别人维护的。
二、 信竞选手必备“短变量名”速查表
1. 基础中的基础(看到就要会)
| 缩写 |
全称 |
含义 |
使用场景 |
ans |
answer |
答案 |
最终输出结果 |
res |
result |
结果 |
中间计算结果 |
tmp |
temporary |
临时变量 |
交换、暂存 |
cur |
current |
当前 |
当前节点、当前位置 |
pre |
previous |
上一个 |
前驱节点 |
nxt |
next |
下一个 |
后继节点 |
cnt |
count |
计数 |
统计数量 |
sum |
sum |
求和 |
前缀和、累加 |
len |
length |
长度 |
字符串、数组长度 |
sz |
size |
大小 |
子树大小、容器大小 |
tot |
total |
总数 |
节点总数、边数 |
val |
value |
值 |
节点权值 |
2. 循环与边界(写快排、二分必备)
| 缩写 |
全称 |
含义 |
使用场景 |
i, j, k |
- |
循环变量 |
三重循环标配 |
l, r |
left, right |
左右边界 |
二分、区间DP |
pos |
position |
位置 |
坐标、下标 |
id |
identifier |
编号 |
节点ID、查询ID |
x, y |
- |
坐标/输入 |
平面坐标、读入变量 |
u, v |
图中的点 |
u -> v 有一条边 |
low, high, mid |
- |
二分常用 |
3. 字符串(KMP、哈希常客)
| 缩写 |
全称 |
含义 |
使用场景 |
s |
string |
字符串 |
主串 |
t |
- |
模式串(常配合s使用) |
pat |
pattern |
模式串 |
KMP、正则 |
ch,c |
character |
字符 |
单个字符 |
4. 数学 / 数论(数竞转信竞必看)
| 缩写 |
全称 |
含义 |
使用场景 |
mod |
modulus |
模数 |
取模运算 |
gcd |
greatest common divisor |
最大公约数 |
辗转相除 |
lcm |
least common multiple |
最小公倍数 |
a / gcd(a,b) * b |
phi |
totient function |
欧拉函数 |
数论 |
lim |
limit |
上限 |
边界限制 |
inf |
infinity |
无穷大 |
0x3f3f3f3f |
5. 图论 / 树(NOI常考)
| 缩写 |
全称 |
含义 |
使用场景 |
fa |
father |
父节点 |
并查集、树上跳 |
rt |
root |
根节点 |
DFS起点 |
dep |
depth |
深度 |
树的深度 |
dis |
distance |
距离 |
最短路 |
w |
weight |
边权 |
加权图 |
deg |
degree |
度数 |
入度/出度 |
vis |
visited |
访问标记 |
DFS/BFS |
g[] |
graph |
邻接表 |
vector<int> g[N] |
6. DP / 状态(神仙打架)
| 缩写 |
全称 |
含义 |
使用场景 |
dp |
dynamic programming |
DP数组 |
万能DP名 |
f |
function |
另一个万能DP名 |
st |
state |
状态 |
状压DP |
ok |
okay |
合法标记 |
判断可行性 |
flag |
- |
判断真假 |
7. 常用数组名(肌肉记忆)
| 缩写 |
含义 |
a[] |
主数据数组 |
b[] |
辅助/临时数组 |
c[] |
差分数组/树状数组 |
q[] |
队列(queue) |
sta |
栈(stack) |
v |
vector 数组 |
8. 常用函数名(看到就知道要干嘛)
| 缩写 |
全称 |
含义 |
dfs |
Depth First Search |
深度优先搜索 |
bfs |
Breadth First Search |
广度优先搜索 |
init |
initialize |
初始化 |
solve |
solve |
处理一组测试用例 |
chk |
check |
检查/验证 |
calc |
calculate |
计算 |