C++的一些奇奇怪怪的小技巧(有用到过持续更)

1.next_permutaion(a,a+n):

用于一个数组的全排列(从当前数组状况开始,所以要真正生成全排列之前先排序)。用法如下。

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main(){
 5     int a[3];
 6     a[0]=1;a[1]=2;a[2]=3;
 7     do{
 8         cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<endl;
 9     }while (next_permutation(a,a+3)); 
10 }

2.__builtin_popcount(i):

用于计算i的二进制位数中共有几个1.

3.bitset<maxn>:

相当于一个数组,但每位只能为0或1.暴力时用到可以增加效率。

猜你喜欢

转载自www.cnblogs.com/charles1999/p/12389947.html
今日推荐