#include<iostream> #include<algorithm> #include<cstdio> using namespace std; const int N=10010<<1; struct node { int l,r,ans; } q[N]; int a[N],fa[N],d ...
分类:
其他好文 时间:
2020-02-01 21:18:27
阅读次数:
74
集合专题 初始化parent集合 开放寻址法 拉链法 代码与知识点均学习自AcWing:https://www.acwing.com/activity/ ...
分类:
其他好文 时间:
2020-02-01 12:20:17
阅读次数:
63
D https://www.luogu.com.cn/problem/CF1278D 扫描线判断构成的边是否n-1条,用并查集寻父亲判断会不会构成环 #include<bits/stdc++.h> using namespace std; const int maxn=5e5+10; set<int ...
分类:
其他好文 时间:
2020-02-01 10:48:53
阅读次数:
73
#include <bits/stdc++.h> #include <stdio.h> #include <stdlib.h> #include <queue> using namespace std; const int N = 1010; int father[N]; int isRoot[N] ...
分类:
其他好文 时间:
2020-02-01 00:34:08
阅读次数:
51
解决的问题 连接问题:一个结点和另一个结点是否相连 路径问题:一个结点到另一个结点的路径 集合问题:经常使用并集,需要查询元素是否是一类 支持的操作 union(p,q) find(p) isConnected(p,q) 实现方式 Quick Find:数组 Quick Union:数组构建的树 基 ...
分类:
编程语言 时间:
2020-01-31 19:10:03
阅读次数:
86
给定边权为正的连通图G,找出连接所有顶点的边的最小权值(集)。 Kruskal:步骤:1. 按边权从小到大的顺序遍历边。2. 如果边对应的两个点不在同一连通分量中,则将其相连。否则忽略。贪心 + 并查集,时间复杂度$O(ElogE+E*A(V)+V)(A\ is\ Ackermann)$。 Prim ...
分类:
其他好文 时间:
2020-01-30 23:21:43
阅读次数:
137
1.不相交集合操作: 集合嘛!就是集合论中的集合.它包括无序,确定,互异性. a.不相交集合定义:任意两个集合的交集为空.这样对于任意一个数据(元素),它只能属于这个不相交集合族中的某一个集合里面! b.其数据结构: 不相交集合数据结构保持一组不相交的动态集合S={S1, S2,…, Sk}。每个集 ...
分类:
其他好文 时间:
2020-01-30 20:46:28
阅读次数:
72
#include<iostream> #include<algorithm> #include<cstring> #include<cmath> using namespace std; #define x first #define y second const int N=210; typede ...
分类:
其他好文 时间:
2020-01-29 17:52:38
阅读次数:
92
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N=110; int p[N],n,m,ans,num; struct node { in ...
分类:
其他好文 时间:
2020-01-29 16:25:13
阅读次数:
95
先考虑不要求有洞,那么可以将所有权值排序,然后不断插入,那么一个连通块就是一个答案,加上连通块大小即可考虑并查集如何判断是否有洞,可以发现对于任意一个无洞的直角多边形,都有$90度内角-90度外角=4$,而如果有洞显然就不是了(容易发现如果有k个洞,那么上述的值就应是$4-4k$)这个角度看上去很难 ...
分类:
其他好文 时间:
2020-01-28 19:21:58
阅读次数:
63