考虑一个构造,对于坐标$(x,y)$,连一条$x$到$y$的边(注意:横坐标和纵坐标即使权值相同也是不同的点),之后每一个连通块独立,考虑一个连通块内部: 每一个点意味着一次删除操作,每一个边意味着一个坐标,由于每一次操作最多删除一个点,因此首先点数要大于等于边数,同时总边数=总点数=$2n$,因此 ...
分类:
其他好文 时间:
2020-12-07 12:42:15
阅读次数:
6
CF516D 给定一棵 n 个点的树,边有边权。 定义一个点的权值为 :该点距离树上所有点的距离中,最大的那个距离 q 次询问最大的满足 所有点的最大权值减最小权值 小于等于 x 的连通块 s 包含的点数。 n ≤ 1e5,q ≤ 50。 首先,离每个点最远的点一定是直径的两个端点之一,我们可以因此 ...
分类:
其他好文 时间:
2020-12-07 12:25:51
阅读次数:
4
一、理论 并查集的定义: 并查集是一种树型的数据结构,用于处理一些不交集的合并和查询问题。一般用数组实现。 Find:确定元素属于哪一个子集,它可以被用来确定两个元素是否属于同一个子集。 Union:将两个子集合并成同一个集合。 并查集的优化: 优化1: 降低rank,提高查询效率。合并时要考虑ra ...
分类:
其他好文 时间:
2020-12-04 11:19:39
阅读次数:
6
CF1010F Tree [* easy] 给定一棵根节点为 $1$ 的二叉树 \(T\),你需要先保留一个包含 $1$ 号节点的连通块,然后给每个点确定一个权值 \(a_i\),使得对于每个点 \(u\) 都有其权值 \(a_u\) 大于等于其所有儿子的权值和 \(\sum a_v[(u,v)\i ...
分类:
其他好文 时间:
2020-11-27 11:06:06
阅读次数:
6
地址:https://www.acwing.com/problem/content/839/ 只是记录个板子,不做解析。 #include<cstdio> #include<cstring> #include<vector> #include<algorithm> #include<iostream ...
一棵树,每个点为黑点或白点。一开始全是白点。 支持维护三个操作:1、把$x$子树中包含$x$的极大黑连通块找出来,把所有点儿子染黑(如果$x$为白色直接将$x$染成黑色)。2、将一棵子树染白。3、询问一个点的颜色。 \(n,Q\le 10^5\) 考虑怎么处理第一个操作。 假设没有操作二,每次在操作 ...
分类:
其他好文 时间:
2020-11-10 11:13:14
阅读次数:
6
题目大意 给出一个无向图,可以删掉若干点,删i的代价是ai,最大化Σ|剩余连通块bi之和|-代价 n,m<=300 题解 看错题后的版本:每删掉一个点对其相连连通块计算贡献,使最后和最大 完全不可做 先删掉一些点,对剩下的一个块里的贡献同为+1或-1,则可以转化为对每个点赋+1/-1/删掉,最终贡献 ...
分类:
其他好文 时间:
2020-11-01 21:27:41
阅读次数:
20
6815.【2020.10.06提高组模拟】树的重心 Description 给定一棵大小为 n 的树, 求所有大小为 k 的连通块的编号较小的重心的权值和. Solution 首先, 一个点是重心的充要条件是 : 1.\(siz_u \geq \lceil \frac{k}{2} \rceil\) ...
分类:
其他好文 时间:
2020-10-10 16:38:59
阅读次数:
31
Flood Fill 可以在线性时间复杂度内找到某个点所在的连通块 1097.池塘计数 链接:https://www.acwing.com/problem/content/1099/ #include <iostream> #include <algorithm> #include <cstring ...
分类:
编程语言 时间:
2020-09-24 00:00:51
阅读次数:
38
835 Trie字符串统计 链接:https://www.acwing.com/problem/content/837/ #include <iostream> using namespace std; const int N = 100010; int n; int son[N][26], cnt ...
分类:
编程语言 时间:
2020-09-15 20:53:33
阅读次数:
49