NO_OI_NO_LIFE @ 2023-10-19 01:27:27
题目说无向边
add(u,v,w);
AC
add(u,v,w);
add(v,u,w);
千紫万红一点绿
by NO_OI_NO_LIFE @ 2023-10-19 01:31:04
如果是我若智,立即紫衫
by NO_OI_NO_LIFE @ 2023-10-19 01:38:16
另外数据太水了吧,这句话可有可无都
if(++k==n-1) return;
by Sincerin @ 2023-10-19 06:35:06
大哥,您加了
sort(e+1,e+m+1,cmp);
by Sincerin @ 2023-10-19 06:36:10
void Kruskal(){
sort(e+1,e+m+1,cmp);
int a,b;
for(int i=1;i<=m;i++){
a=find(e[i].u);
b=find(e[i].v);
if(f[a]!=b){
f[a]=b;
ans+=e[i].w;
}
}
}
把
by Nt_Tsumiki @ 2023-10-19 07:48:01
@2022zhangyuanhao 显而易见加不加都行啊……
你那玩意是保证时间复杂度可不可行,又不是保证代码正确与否……
by Nt_Tsumiki @ 2023-10-19 07:48:38
@Nt_Tsumiki 指 if(++k==n-1) return;
by Nt_Tsumiki @ 2023-10-19 07:51:39
@2022zhangyuanhao 还有为啥是无向边就要存两次啊?
你代码中 add(u,v,w)
与 add(v,u,w)
完全等价啊。
by njy0511_flydream @ 2023-10-19 08:07:22
实际上,最小生成树的无向边只要存一次边 @2022zhangyuanhao
by njy0511_flydream @ 2023-10-19 08:08:25
这又不是最短路
by NO_OI_NO_LIFE @ 2023-10-19 11:57:02
@njy0511_flydream 我学傻了,下午你来学校吗,注意身体啊,多喝热水~~