STL模板

upper_bound

找到第一个大于x的数。

lower_bound

找到第一个大于等于x的数。

greater<int>()

降序排列。

less<int>()

升序排列。

priority_queue<int, vector<int>, greater<int> > heap;

优先队列(大根堆)。

priority_queue<int, vector<int>, less<int> > heap;

优先队列(小根堆)。

next_permutation(a, a+n)

生成a的全排列。

1
2
3
4
5
do {
for (int i = 0; i < n; i++)
printf("%d ", a[i]);
printf("\n");
} while (next_permutation(a, a + n);