
并查集
文章平均质量分 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 · 461 阅读 · 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 · 227 阅读 · 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 · 1242 阅读 · 6 评论