两个操作 1.判断 两个元素是否位于同一个集合 判断的依据是集合根是否相等 2.合并两个集合 合并 是根 合并 (当然也有启发式合并) 两个技巧 合并 根合并 也就是 gf合并 gf 判断同属于集合问题 一个定义 路径压缩 路径压缩实际上是把一棵树的根节点设置为所有节点的父亲。在找完根结点之后,在递 ...
分类:
其他好文 时间:
2019-07-28 19:16:17
阅读次数:
77
神奇的思路,还是要学习一个。 题意:给你一个字符串,并定义两个前缀的lcs、两个后缀的lcp,求式子膜$2^{64}$的值。 $$ \sum_{1\le i$,咱将它们的lcs、lcp拼起来,可知 $$ s[i lcs(i,j)+1,i+lcp(i,j) 1]=s[j lcs(i,j)+1,j+lc ...
分类:
其他好文 时间:
2019-07-13 10:46:13
阅读次数:
97
Description 给定一个 $n$ 个节点的森林,有 $Q$ 次操作,每次要么将森林中某两点联通,保证操作后还是个森林,要么查询两点间权值第 $k$ 小,保证两点联通。强制在线。 Limitation $1~\leq~n,~Q~\leq~80000$ Solution 考虑有连边还有查询链上第 ...
分类:
其他好文 时间:
2019-06-30 09:44:24
阅读次数:
75
After the success of 2nd anniversary (take a look at problem FTOUR for more details), this 3rd year, Travel Agent SPOJ goes on with another discount t ...
分类:
其他好文 时间:
2019-05-26 17:48:20
阅读次数:
82
题意: 给你一棵1e5的有根树,每个节点有点权,1e5个询问(u,x),问你子树u中与x异或最大的值是多少 思路: 自下而上启发式合并01字典树,注意合并时清空trie 线段树、字典树这种结构确定的数据结构,启发式合并的时候不需要考虑次序,复杂度都是nlogn 代码: 2200 / 10000ms ...
分类:
其他好文 时间:
2019-05-04 09:30:46
阅读次数:
144
一个特殊的启发式合并 大概是sz(a)+sz(b)=sz(max(a,b)) 所以其实是一个log //Love and Freedom. #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> #include< ...
分类:
其他好文 时间:
2019-05-02 12:00:46
阅读次数:
117
题目链接 题意:统计树上每个结点中恰好出现了k次的颜色数。 dsu on tree/线段树合并裸题。 启发式合并1:(748ms) 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int ...
分类:
其他好文 时间:
2019-05-01 23:58:29
阅读次数:
207
D - Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths 思路: 树上启发式合并 从根节点出发到每个位置的每个字符的奇偶性记为每个位置的状态,每次统计一下每个状态的最大深度 为了保证链经过当前节点u,我们先计算每个子树的答案,再更新 ...
分类:
其他好文 时间:
2019-04-26 13:21:07
阅读次数:
165
dsu on tree:关于一类无修改询问子树可合并问题 开始学长讲课的时候听懂了但是后来忘掉了....最近又重新学了一遍 所谓$dsu\ on\ tree$就是处理本文标题:无修改询问子树可合并问题。 $dsu$是并查集,$dsu\ on\ tree$是树上启发式合并,基于树剖(轻重链剖分)。 无 ...
分类:
其他好文 时间:
2019-04-18 20:11:42
阅读次数:
152
"题目链接" 题意分析 首先考虑链的话 就是将$1$部分的两条子链排序之后 贪心合并即可 那么考虑树的话 我们照样合并就行了 首先 排序的话 我们使用堆就可以了 然后 涉及到了两点问题 $1.$我们对于$u$以及$v$这两个维护好的堆合并的话 为了保证时间复杂度 我们需要使用 启发式合并 $2.$我 ...
分类:
其他好文 时间:
2019-04-17 20:58:50
阅读次数:
198