跳至内容
shuffle(bg,ed,gen)
- 打乱 [bg,ed)[bg,ed) 的顺序,
gen
是一个随机数生成器(mt19937)。
- 时间复杂度 O(n)O(n)。
- C++11 之后请尽量使用
shuffle
而不是 random_shuffle
is_sorted(bg,ed)
- 判断 [bg,ed)[bg,ed) 是否升序排序。
- 时间复杂度 O(n)O(n)。
minmax(a,b)
- 返回一个
pair<>
,其 first
为 min(a,b)min(a,b),second
为 max(a,b)max(a,b)。
- 时间复杂度 O(1)O(1)。
- 常用于无向图存边的去重问题。
max(l)/min(l)
- ll 是一个初始化列表,这个函数返回 ll 中最大 / 最小的元素。
- 时间复杂度 O(sizel)O(sizel)。
- 在多个元素求最大 / 最小时非常好用:
max({a,b,c})
minmax(l)
- ll 是一个初始化列表,这个函数返回一个
pair<>
,其 first
为 ll 中最小的元素,second
为 ll 中最大的元素。
- 时间复杂度 O(sizel)O(sizel)。
- 若要求一个序列 / 容器中最小和最大的元素,请使用
minmax_element
。
minmax_element(bg,ed)
- 返回一个
pair<>
,其 first
为 [bg,ed)[bg,ed) 中最小的元素,second
为 [bg,ed)[bg,ed) 中最大的元素。
- 时间复杂度 O(n)O(n)。