其他分享
首页 > 其他分享> > 省选前复习小记

省选前复习小记

作者:互联网

还有三天复习,而这只蒟蒻还在不知死活的颓废

数据结构小记

\(KD\)-\(Tree\)

if(max(siz[lc[u]],siz[rc[u]])) >= alpha * siz[u]
then rebuild(u)
double F(int a,int b){/*a到b区域欧式距离的估价*/
	double res = 0;	
	if(t[a].x < L[b])		res += (L[b] - t[a].x) * (L[b] - t[a].x);
	if(t[a].x > R[b])		res += (R[b] - t[a].x) * (R[b] - t[a].x);
	if(t[a].y < D[b])		res += (D[b] - t[a].y) * (D[b] - t[a].y);
	if(t[a].y > U[b])		res += (U[b] - t[a].y) * (U[b] - t[a].y);
	return res;
}
ll f(int a,int b){
	ll ret = 0;
	ret += max(s(t[a].x - L[b]),s(t[a].x - R[b]));
	ret += max(s(t[a].y - D[b]),s(t[a].y - U[b]));
	return ret;
}

\(splay,LCT\)

\(kruskal\)重构树,笛卡尔树,可并堆

线段树分治,整体二分,树套树,\(cdq\)分治

线性基,\(bitset\)

void rebuild(){
    for (int i=60;i>=0;i--)
        for (int j=i-1;j>=0;j--)
            if (d[i]&(1LL<<j))
                d[i]^=d[j];
    for (int i=0;i<=60;i++)
        if (d[i])
            p[cnt++]=d[i];
}
long long kthquery(long long k){
    int ret=0;
    if (k>=(1LL<<cnt))
        return -1;
    for (int i=60;i>=0;i--)
        if (k&(1LL<<i))
            ret^=p[i];
    return ret;
}

可持久化数据结构

线段树进阶操作

贪心\(dp\)小记

计算几何学习

网络流/二分图

字符串

数论

组合数学

标签:复习,int,res,ret,省选前,--,估价,线性,小记
来源: https://www.cnblogs.com/y-dove/p/14621248.html