杂项

· · 算法·理论

杂项

trick向

排序可行性问题

\forall x$ 构建一个新序列 $b_i$ ,$a_i \geq x

子集相关

枚举子集(3^n)

for(int i=s;;i=(i-1)&s) {
    //do sth...
    if(!i) break;
}

高维前缀和(2*2^n)

~~~cpp for(int i=0;i<n;++i) for(int j=0;j<(1<<n);++j) if(j&(1<<i)) b[j]+=b[j^(1<<i)]; ~~~ ## 三元环计数 度数小的向大的连边 $O(m\sqrt{m})

个数也是 m\sqrt{m}

二维数点

点是否在多边形内

从该点引射线,与多边形交点个数为奇数,则在多边形内

区间众数

主席树(快)或莫队

若至算法

坐标哈希

$(x,y,z)$ 怎么办呢 $((x,y),z)$ 就行了 ~~我个若至去uoj提问这个~~ ### 对n个数分解质因数 $O(nlogV_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;
}

撤销操作

删边当加边处理

倒着跑,一段时间出现,线段树分治?