<algorithm>
- upper_bound/lower_bound
-
upper_bound(a + 1, a + n + 1, w);//查找第一个大于w的位置 lower_bound(a + 1, a + n + 1, w);//查找第一个大于等于w的位置
-
- sort
-
sort(a + 1, a + n + 1);//将a数组的[1,n]进行升序排序
-
- unique
-
m = unique(a + 1, a + n + 1) - a - 1;//将a数组的[1,n]进行去重,m值为不重复的个数
-
<functional>
-
greater / less
-
sort(a + 1, a + n + 1, greater<int>());//从大到小排序 sort(a + 1, a + n + 1, less<int>());//其实这个没必要,因为sort默认的就是从小到大
-
<cctype>
- isdigit 判断是否为数字,有些快读中会用到
-
char c; cin >> c; puts(isdigit(c) ? "YES" : "NO");//如果是数字,输出YES
-
<cstdlib>
- exit(0); 直接结束程序
- srand(x) 将x作为随机种子
- rand() 返回一个伪随机值
- system("") 在终端中运行双引号中的内容
<ctime>
- time(0) 返回从1970年1月1日至今所经历的时间(以秒为单位)
- clock() 计时函数,(以毫秒为单位)
<climits>
- 定义各种数据类型最值的常量,例如 INT_MAX=2147483647,无符号类型的前面加U
<bits/stdc++.h>
- “万能头”,不过好像有包含不到的,不过包含不到的也用不上,有的oj编译这个头文件的话可能会报错。