一些备忘的知识
存一些备忘的知识~
-
&运算通常用于二进制取位操作,例如一个数 & 1的结果就是取二进制的最末位。这可以用来判断一个整数的奇偶,二进制的最末位为0表示该数为偶数,最末位为1表示该数为奇数。
-
priority_queue默认为大根堆。
重载运算符:
struct node
{
int w,now;
bool operator <(const node &x)const {return w>x.w;}
};
priority_queue<node> q;
-
n 个点,若 n-1 条边使其相互连通,则此图为单链或树。
-
用sort给pair排序,默认对first升序,当first相同时对second升序。
-
奇怪的比赛技巧:
如果不会写gcd,可以去 algorithm 头文件里找到 __gcd() ( dev 的话可以写了头文件然后直接 ctrl + 左键),然后抄出来~ -
使用 set 时,可将 emplace 当作 其他 STL 中的 insert 来使用。
-
lower_bound(val) 返回一个指向当前 set 容器中第一个大于或等于 val 的元素的双向迭代器。
upper_bound(val) 返回一个指向当前 set 容器中第一个大于 val 的元素的迭代器。
-
一些 STL 的对比。