启发式合并
文章平均质量分 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 · 338 阅读 · 0 评论 -
Codeforces 600E :Lomsat gelral(启发式合并)
传送门题意: 给一棵树,每个点有一个颜色,定义一个点的权值为其子树中最多的颜色(若有多个则是他们的和),求每个点的权值。题解:好题首先可以Splay启发式合并一波,可以得到理论上的O(nlogn)O(n\log n)复杂度,不过有一种跑得飞快的启发式合并方法,(实际复杂度也是O(nlogn)O(n\log n)的)。考虑对这棵树树链剖分。显然一个节点会贡献给所有的祖先,那么考原创 2017-12-25 16:00:56 · 410 阅读 · 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 · 421 阅读 · 0 评论