考察并查集,判断是否成环(是否有同样的父节点),判断连通(是否只有一个根节点)
#include
#define maxn 100000+5
using namespace std;
int a,b;
int flag;
int father[maxn];
int sign[maxn];
void ready()
{
for(int i=1;i<maxn;i++) father[i]=i,si...
分类:
其他好文 时间:
2015-05-05 23:55:25
阅读次数:
302
最小生成树Kruskal算法//使用并查集,基本操作略Quick_sort(1,m); //对边按权值排序For i:=1 to m doBegin X:=father(e[i].a); Y:=father(e[i].b); If xy then BeginUnion(x,y);Inc(k);E[i...
分类:
其他好文 时间:
2015-05-05 14:03:33
阅读次数:
120
关于java中父类子类,成员变量,静态变量,构造器创建的先后顺序,在面试中经常会问到该类型的问题所以用以下代码进行测试:public class Test { public static void main(String args[]) { Father f = new Son(...
分类:
编程语言 时间:
2015-05-05 01:13:02
阅读次数:
311
num[i]代表i到根节点的值
这道题一开始竟然以为是线段树= =!后来发现线段树无法进行子区间的维护
#include
#include
#include
using namespace std;
const int maxn = 222222;
int fa[maxn],num[maxn];
int find_father(int u){
if(fa[u] == u)
...
分类:
其他好文 时间:
2015-05-04 22:04:26
阅读次数:
108
并查集。从后往前加边。#include#include#include#includeusing namespace std;const int maxn = 1000000 + 10;int father[maxn], u[maxn], v[maxn], Q, q[maxn], ans[maxn]...
分类:
其他好文 时间:
2015-05-03 17:23:38
阅读次数:
112
【模板】并查集 1 int find(int x) 2 { 3 int r = x; 4 while(father[r]!=r) 5 r = father[r]; 6 return r; 7 } 8 /* 9 int find(int x)10 {11 if(...
分类:
其他好文 时间:
2015-05-03 10:36:49
阅读次数:
98
Kruskal算法struct Edge
{
int from;
int to;
int w;
}; Edge Edges[200200]; int father[200200],N,M; int find(int x)
{
if(x != father[x])
father[x] = find(father[x]...
分类:
其他好文 时间:
2015-05-03 00:51:15
阅读次数:
211
并查集是一种树型数据结构,主要用于处理不相交集体之间的合并和判断某一元素所在的集合(并查集中集体是用其最高父结点表示),这种数据结构维护一个数组,father[],用于记录每个元素的父亲,也就其所在的集合;其主要的操作有两种,查找和合并,对于查找算法可以用路径压缩进行优化,除了这两种主要的操作,并查...
分类:
其他好文 时间:
2015-05-02 20:46:04
阅读次数:
144
1. 弹性盒子语法 首先对父元素进行声明: .father{ display:box;} 其次子元素三栏布局,比例1:3:1 : .son1:{ box-flex:1;} .son2:{ box-flex:3;} .son3:{ box-flex:1;} 如中间固定宽,...
分类:
其他好文 时间:
2015-04-29 07:05:18
阅读次数:
117
father = { house=1}son = { car=1}setmetatable(son, father) --把son的metatable设置为fatherprint(son.house)输出的结果是nil,但如果把代码改为father = { house=1}fath...
分类:
其他好文 时间:
2015-04-27 12:48:41
阅读次数:
105