随笔分类 - 数据结构
摘要:并查集 在每个集合中选择一个元素,作为整个集合的代表。使用一个树形结构存储每个集合,树上的每个节点都是一个元素,树根是集合的代表元素。 存储时,记录每个节点 \(x\) 的父亲 \(fa[x]\) 。查询 \(x\) 和 \(y\) 是否在同一集合时,分别从两个点出发,寻找它们的树根。若树根相同,则
阅读全文
摘要:树状数组 一、单点修改和区间查询 lowbit函数 \[lowbit(x)=x\&(-x) \]作用:得到 \(x\) 二进制最右侧的1。 如,\(x=(0010010011000)_2\) ,则 \(-x=x取反+1=(1101101101000)_2\) , \(x\&(-x)=(0000000
阅读全文
摘要:单调栈和单调队列 P5788 #include <bits/stdc++.h> using namespace std; const int N=3e6+5; int n,a[N],ans[N],top,stk[N]; int main(){ scanf("%d",&n); for(int i=1;
阅读全文

浙公网安备 33010602011771号