杂项
杂项
trick向
排序可行性问题
子集相关
枚举子集(3^n )
for(int i=s;;i=(i-1)&s) {
//do sth...
if(!i) break;
}
高维前缀和(2*2^n )
个数也是
二维数点
-
对于两个排列
a , b ,每次询问排列a 在\left[ l_1,r_1\right] ,排列b 在\left[l_2,r_2\right] 区间内有没有公共元素。把
a 映射到b ,构成新的序列c_i 然后貌似直接离线二维数点或者主席树?
点是否在多边形内
从该点引射线,与多边形交点个数为奇数,则在多边形内
区间众数
主席树(快)或莫队
若至算法
坐标哈希
筛出每个数最小的质因数,然后分解即可,质因子个数大概log?
前k小和
nth_element(a+1,a+k,a+n+1),是O(n)的!但是大常数,保证k前面的都小于,后面大于,但是无序,因此只能求前k小和,估计比sort快不了多少
是否为2的次幂
x==lowbit(x)
阶乘的质因子个数
int g(int n,int p){
int s=0;
while(n){
s+=n/p;
n/=p;
}
return s;
}
撤销操作
删边当加边处理
倒着跑,一段时间出现,线段树分治?