算法竞赛常用变量/函数简写
手速就是分数。下面是算法竞赛里约定俗成的简写,统一使用能省下大量敲键盘的时间。
基础
calc= calculate:计算、递归求解sol= solve:主求解函数chk= check:校验、判断合法性qry= query:查询upd= update:更新cnt= count:计数器res= result:答案、结果ans= answer:最终答案(最常用)tmp= temporary:临时变量lst= last:上一个、最后nxt= next:下一个pre= previous:前驱cur= current:当前tot= total:总和、总数量
图论
u / v:节点(约定俗成,不是缩写)fa= father:父节点(并查集、树)dep= depth:深度dis= distance:距离vis= visit:访问标记数组edg= edge:边to:边指向的点siz= size:子树大小rt= root:根dfn:dfs 序(固定缩写)low:tarjan 里 low 值(固定缩写)
字符串
s:字符串本体len= length:长度pos= position:位置str= string:字符串sub= substring:子串
动态规划
dp:dynamic programmingval= value:权值、数值w= weight:权重cost:花费mx= max:最大值mn= min:最小值
数据结构
pq:priority_queue 优先队列seg= segment:线段树bit:树状数组(Binary Indexed Tree)sta= stack:栈que= queue:队列
其他
id:编号lim= limit:上限opt= optimal:最优seg= segment:区间、线段l/r:左右端点lb= lowbitg:graph,存图邻接表