![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并查集
文章平均质量分 65
IDSY QAQ
日常三问:我被机残了吗?我密码被盗了吗?我的号还在吗?
展开
-
【学习笔记】可持久化并查集
1.算法用主席树维护 fafafa 和 depthdepthdepth 数组,其他的和并查集只用按秩合并一模一样。2.模板#define ls (Tr[p].ch[0])#define rs (Tr[p].ch[1])#define fap (Tr[p].fa)#define depthp (Tr[p].depth)#define valp (Tr[p].val)struct Node { int fa, depth, ch[2]; int val;};struct Persis原创 2022-03-01 22:09:51 · 402 阅读 · 0 评论 -
棋盘上的守卫
一.前言这个题好 喵 妙啊,不写标签我是真没想到。。。二.题面棋盘上的守卫三.题解部分我们思考一个问题,选择一个点 a[i][j]a[i][j]a[i][j],TaTaTa 能为我们带来什么呢???这里定义一个阶段的概念:阶段iii 表示横向或纵向前i−1i - 1i−1 (列/行)已经安排好守卫,开始放置第iii (列/行)。在 (i,j)(i,j)(i,j) 这个点上我们可以放置两种守卫,第一种是横向守卫,第二种是竖向守卫,所以 TaTaTa 们之间只能选择一种,可以抽象成一条边,链接的是原创 2021-03-12 19:02:18 · 192 阅读 · 0 评论 -
「泉州一中基地赛20180519」第四题题解 (代码注释有时间再补)
1.题目2.分析①操作一应该做的操作我们可以知道,树上两点的路径 (路径上的点的集合记作l)(路径上的点的集合记作l)(路径上的点的集合记作l) 是确定的,所以任意两个被标记的点之间的路径上的点 (记作x)(记作x)(记作x) 的 f(x)f(x)f(x),满足下面的等式f(i)=f(j)(i∈l)f(i) = f(j) (i \in l)f(i)=f(j)(i∈l)解释:这个等式相当于从iii走到jjj后再前往任意一个被标记的点(但不走回头路)所以我们可以在 lll 集合选一个标兵(并查集的树原创 2020-11-05 22:52:57 · 1167 阅读 · 6 评论