排序
sort(a, a + n);
sort(v.begin(), v.end());
sort(v.begin(), v.end(), greater<int>()); // 降序
stable_sort(/* 稳定排序 */);
二分
// 有序序列中第一个 >= x
int i = lower_bound(a, a + n, x) - a;
// 第一个 > x
int j = upper_bound(a, a + n, x) - a;
最值与求和
*max_element(a, a + n);
*min_element(v.begin(), v.end());
accumulate(a, a + n, 0LL);
翻转、去重
reverse(v.begin(), v.end());
sort(v.begin(), v.end());
v.erase(unique(v.begin(), v.end()), v.end());
排列
next_permutation(a, a + n); // 字典序下一个
其他
swap(a,b)、min(a,b)、max(a,b)、__gcd(a,b)(C++17)。