![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
启发式合并
文章平均质量分 50
DZYO
Never stop
展开
-
bzoj 2733: [HNOI2012]永无乡(线段树合并)
Description 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛 到达另一个岛。如果从岛 a 出发经过若干座(含 0 座)桥可以到达岛 b,则称岛 a 和岛 b 是连 通的。现在有两种操作:B x y 表示在岛 x 与岛 y 之间修建一座新桥原创 2017-03-23 16:50:54 · 319 阅读 · 0 评论 -
Codeforces 600E :Lomsat gelral(启发式合并)
传送门 题意: 给一棵树,每个点有一个颜色,定义一个点的权值为其子树中最多的颜色(若有多个则是他们的和),求每个点的权值。 题解: 好题 首先可以Splay启发式合并一波,可以得到理论上的O(nlogn)O(n\log n)复杂度,不过有一种跑得飞快的启发式合并方法,(实际复杂度也是O(nlogn)O(n\log n)的)。 考虑对这棵树树链剖分。显然一个节点会贡献给所有的祖先,那么考原创 2017-12-25 16:00:56 · 389 阅读 · 0 评论 -
Atcoder AGC014E:Blue and Red Tree (启发式合并)
传送门 题解: 考虑边分治的过程, 最后一定存在两条既在原树上出现,也在新树上出现的边。 我们一定是最后处理这条边,这样就可以合并这两个点变为子问题处理,直到最后只有一个点为止。 合并用启发式合并即可,时间复杂度O(nlog2n)O(nlog2n)O(n \log^2 n)。 #include <bits/stdc++.h> using namespace std; t...原创 2018-04-08 19:09:51 · 377 阅读 · 0 评论