变量类 a
临时变量 做出发节点(图论中读入边时) 第三层for循环变量 做dfs传参(少) 存整个数列 存偏移的横坐标(a = x + dx[i]) b
临时变量 做到达节点(图论中读入边时) 第四层for循环变量 做dfs传参(少) 存偏移的纵坐标(b = y + dy[i]) c
做边权(图论中读入边时) 等价与Case,做处理的数据编号(题目要求输出当前测试数据编号) 存组合数 做临时变量 d
做差分数组 存最短距离(在Floyd算法中) 维护从当前节点到根节点的距离(在并查集中) e
等价于edge,图论中存边 f
等价于dp数组,用于做状态转移 等价于ST数组,用于求做RMQ g
做邻接矩阵,用于存图 等价于map,用于存地图 h
等价于height,存高度 等价于head,做链表、邻接表时 等价于hash,做哈希数组 i
第一层for循环变量(index) j
第二层for循环变量 k
n: 二维矩阵行数 m: 二维矩阵的列数
第三层for循环变量 做dfs传参(当前所选择的数字个数) 做快速幂传参(幂次) l
还有 st 和 ed,表示 start 和 end。 常用于区间问题中(贪心)
sz字符串数组,temp临时数组
存区间长度、字符串长度(大部分时候用len) 等价于left,存区间左端点(区间dp、快排、归并等) 存左儿子节点编号(Treap中) m(这个太多了。。只写比较重要的几个。。)
存边的总数量(读入图时) 存体积上限(背包问题时) 总的操作数量 n(这个更多。。)
存读入数据的总数量 存数据范围上限(大写) o
for循环第四变量(非常少) p
等价于pos,存当前节点下标(trie中) 存质数,代替primes[i] 存P的n次方(哈希中) 做并查集 q
做队列 存整个数列(少) r
等价于right,存区间右端点(区间dp、快排、归并等) 存右儿子节点编号(Treap中) s
做前缀和数组 等价于start,存起点(图论中秋最短路时) 做dfs传参(当前所选的数字和,当前所选的数字状态等) t
等价于tmp,做临时变量 做读入测试数据数量(大写) 所取出的队头元素(各种广搜以及最短路中) u
存当前节点 做dfs传参(当前所遍历到的节点编号,当前dfs层数等) 第四层for循环变量 v
代指某个数字,缩短变量名(int &v=blalblabla) 取出对头中某个数字 w
等价于weight(这个哪都是,巨常用) x
存一位位置 存二维位置的横坐标 代指某个数字 y
存二维位置的纵坐标 z(这个用到过嘛??)
alls
存所有数字(离散化中) add
存所增加的偏移量 存所增加的数(离散化例题中) ans
等价于answer,存答案 cows
存所有牛的属性(在写usaco的题的时候经常出现) cnt
等价于count,计数器 dist
等价于distance,存起点到所有点的位置(各种最短路,bfs时) dx,dy
在枚举四个/多个方向时用于存偏移量 dp
在动态规划中做状态转移数组(非常少,大部分时候用f) depth
求每个节点的深度(在倍增求LCA中) fact
存预处理的阶乘 fa
存每个节点往上跳 2k 2次跳到的父节点(在倍增求LCA中) 存父节点(在dfs遍历整棵树时) father
存父节点(在dfs遍历整棵树时) heap
用于存堆 hh
等价于head,在用数组模拟队列时,做队头下标 idx
存下一个可用节点的下标(邻接表、链表、trie等) it
for循环变量(遍历STL容器时) infact
存预处理阶乘的逆元 left
临时记录左边的节点 len
存区间长度(区间dp时) 存字符串长度 mod
存题目中要求模的数 maxv
存某个数组中的最大值 num/number
存某个数(在leetcode的题中较常出现) nums
存一个数组(在leetcode的题中较常出现) ne
等价于next,存下一个节点的下标(邻接表、链表中) 存KMP的next数组 op
存操作类型 pos
存某个位置 power
存某个数的某次幂 query
存询问的信息 rh
在部分图论题中存反向边 res
等价于result,存答案 right
临时记录右边的节点 root
存树的根节点(树、平衡树等) size
维护数据结构的大小(堆等) 维护每棵子树大小(并查集中) st
等价于visited,记录每个节点/状态是否被遍历过 state
在枚举所有状态时记录每个状态 son
存每个子节点的信息(在做trie时) sum
存前缀和数组 存所求的和 target
存目标值 tmp/temp
做临时数组 做临时变量 tr
等价于 tree,存树(平衡树、线段树、树状数组、Trie) 等价于 triangle,存三角形(计算几何) tt
等价于tail,用数组模拟队列时,做队尾下标 等价于top,用数组模拟栈时,做栈顶下标 tot
等价于total,存情况总数量 ver
等价于vertex,用于取出图中的节点 weights
存所有物品的重量(少,一般用w) width
存宽度 函数类 add
加边函数(存图中) 在某个位置加上一个数(树状数组中) bfs
宽搜函数,一般为int型,在宽搜题目中直接输出。 Bellman_Ford
Bellman_Ford求最短路 build
建线段树 建平衡树 建图 check
检查答案是否合法(常用于二分中) calc
计算某个函数 down
在堆中用于将当前元素下传 dijkstra
dijkstra求最短路 erase
删除堆中的某个值 删除平衡树中的某个值 删除链表中的某个位置的值 exgcd
用欧几里得算法求出某个数的逆元 finish
完成某个操作 foo
在语法基础课中用于做实验函数 find
离散化后找某个值 并差集中找某个节点的根节点 floyd
floyd求最短路 f
求某个函数值(function) 用于A/IDA中的估价函数 give
提供某段信息 gcd
求最大公约数 Gauss
高斯消元 g
用于A/IDA中的估价函数 get(这个用法可太多了。。)
哈希后求出字符串中某段区间的哈希值 得到某样信息 get_dist
求出两点间的距离,多用于求平面中两点的欧氏距离。 get_phi
用于求出某个数的欧拉函数 get_num
求某个数 get_node
建立一个新节点(在平衡树中) get_rank_by_key
在平衡树中通过排名查找数值 get_key_by_rank
在平衡树中通过数值查找排名 get_prev
在平衡树中查找前驱 get_next
在平衡树中查找后继 init
初始化(用于线性筛质数、ST表等) insert
插入某个元素(堆中、平衡树中、链表中) kruskal
kruskal求最小生成树 merge
合并两段区间 merge_sort
用于归并排序 modify
删改某段值(线段树中) prim
prim求最小生成树 pushup
将平衡树、线段树中某个节点的信息向上传 pushdown
将平衡树中某个节点的信息向下传 qmi
用于快速幂 query
查询某段区间的值(线段树中、树状数组中) 查询某个最值元素(trie中) quick_sort
用于快速排序 remove
删改某个节点的信息 spfa
spfa求最短路 sum
树状数组中查询某段区间的和 up
在堆中用于将当前元素上传 work
work函数,用于执行某个工作。 zig
平衡树中将当前节点右旋 zag
平衡树中将当前节点左旋
—— 本文来自火龙信奥(义乌睿码科技):义乌青少年信息学奥赛与编程教育平台,专注 CSP-J/S、NOIP、GESP 竞赛培训,线上线下融合教学,助力编程升学。网址:hlcoding.com