随笔分类 - 数据结构
摘要:有一个初始为空的向量序列,要求你支持3种操作: 令$m$为操作数,$n$为插入操作数。 $$m\le 5\times 10^5,n \le 3\times 10^5$$ 多组数据(不超过3组),3秒,64M。 先将叉积转成点积。 考虑操作实际上把这个序列变成了一棵树,而询问相当于询问树上的一条没有拐
阅读全文
摘要:给定一张$n$个点,$m$条边的无向连通图以及$q$次询问,每次询问给出$S,E,L,R$,问你是否能从$S$出发,不经过编号小于$L$的点到达某个编号大于等于$L$且小于等于$R$的点,此时切换状态,不经过编号大于$R$的点到达$E$。 $$n\le200000,m\le400000,q\le20
阅读全文
摘要:给一个n个点m条边的无向图,k次询问只保留编号在[l,r]中的边时图中的联通块个数,强制在线。 $$n,m,k \leq 2\times 10^5$$ 依次插入边,用LCT维护生成森林。插入第$i$条边时,如果形成环,就把环上编号最小的边删掉,并记$pre_i$为删掉的边的编号。每次查询时,$[l,
阅读全文
摘要:有一个齿轮系统,共n个齿轮,有m个关系,每一个形如“a齿轮转x圈,则b齿轮转y圈”,问这个系统是否合法,多组询问。 $$T \leq 32, 1 \leq n \leq 1000,1 \leq m \leq 10000, 1 \leq |x|,|y| \leq 100$$ 显然这个转动关系具有传递性
阅读全文
摘要:给一棵n个点的点带权的树,有m次操作,操作分三种,询问点到根的路径点权和,子树加,换父亲。 $$n \leq 1\times 10^5,m \leq 3\times 10^5$$ 先想LCT,但没办法子树加,所以可以维护进出栈序,这样操作一就是前缀和,操作二就是区间加,操作三就是区间平移,用spla
阅读全文
摘要:将一个长为n的排列从小到大插入序列中,问每次插入后的LIS长度。 $$n \leq 10^5$$ 因为是从小到大,所以以新插入的数结尾的LIS长度必然是它前面的最大LIS长度+1,随便用一个数据结构维护即可,我用的splay。
阅读全文
摘要:有一个长为n的序列,你可以进行k次区间+1,求LIS。 $$n \leq 10000,k \leq 500, 1 \leq a_i \leq 5000$$ 首先发现每次+1的区间必然是一个后缀,设f(i,j)为以第i个数结尾,+1了j次的长度,转移是显然的,用二维BIT优化转移就能过了。
阅读全文
摘要:一棵n个点的树,m次操作,每次选择两个点x,y,往x到y的路径上每个点放一个z类型的物品。问最后每个点存放最多的是哪种物品。 $$n,m \leq 10^5$$ 树上差分然后线段树合并
阅读全文

浙公网安备 33010602011771号