史强 @ 2020-01-10 10:33:51
最近一直在练习并查集
p.s.:各位大佬能推荐点题目么?
压缩前:
#include <bits/stdc++.h>
using namespace std;
struct unionfind
{
int bin[10005];
unionfind()
{
for(int i=1;i<=10002;i++)
{
bin[i]=i;
}
}
int anc(int x)
{
if(bin[x]==x)
return x;
else
return anc(bin[x]);
}//return anc(bin[x]);
void uni(int x,int y)
{
bin[anc(x)]=anc(y);
}
void ask(int x,int y)
{
if(anc(x)==anc(y))
{
cout<<"Y"<<endl;
}
else
{
cout<<"N"<<endl;
}
}
};
unionfind u;
int main(void)
{
int n,m;
int z,x,y;
cin>>n>>m;
while(m--)
{
cin>>z>>x>>y;
if(z==1)u.uni(x,y);
else
if(z==2)u.ask(x,y);
}
return 0;
}
码风与众不同
结果:点我
震惊:与ta一样
于是改了一下
(代码在此不展示,各位大佬应该明白)
评测结果:点我
by 茅场晶彦 @ 2020-01-10 10:38:03
所以说你想表达什么
by 茅场晶彦 @ 2020-01-10 10:38:44
你如果觉得
by forlight @ 2020-01-10 10:42:46
路径压缩的总复杂度是(NlogN),不压缩是(N^2)
by _Blue_ @ 2020-01-10 10:52:48
左转练习场->并查集
by syksykCCC @ 2020-01-10 10:53:23
@forlight 路径压缩不是
by 茅场晶彦 @ 2020-01-10 10:55:14
@syksykCCC 光路径压缩是
by chengch @ 2020-01-10 10:57:08
路径压缩加上按秩合并才是
by xwmwr @ 2020-01-10 11:02:20
NOI2015 程序自动分析
NOI2002 银河英雄传说
NOI2001 食物链
POJ1733 Parity game
NOIP2010 关押罪犯
POJ2912 Rochambeau
另外锣鼓日报好像有介绍路径压缩的文章,可以看一下这一篇
by xwmwr @ 2020-01-10 11:02:28
@史强
by huayucaiji @ 2020-01-10 11:29:37
是很大,路径压缩后,时间复杂度为 反阿克曼函数值,近似于2