kruscal重构树,为何fa开2*N WA,开4*N AC?

P4768 [NOI2018] 归程

@[龙水流深](/user/231704) 你的tot在建树的时候最大是 $m$ ,原来就有 $n$ 个点,fa 大小应该是 $n+m$ ,开四倍
by EastPorridge @ 2022-07-14 14:18:40


@[EastPorridge](/user/230865) 您写过 kruscal 吗? ``if(cnt == n-1) break;`` 不接受反驳。再说,我 krucal 也没有用 ``tot`` 来着……
by 龙水流深 @ 2022-07-14 14:42:25


估计哪里越界了
by 蒟酱 @ 2022-07-14 14:51:04


@[龙水流深](/user/231704) 你是不是哪里写错了,为什么我开两倍都过了
by lingying @ 2022-07-14 14:52:24


理论上就是开 2 倍,实际上也能过,应该是哪里越界了但不影响答案
by SDqwq @ 2022-07-14 14:53:20


@[龙水流深](/user/231704) 我是nt
by EastPorridge @ 2022-07-14 15:25:38


@[ioi____aker](/user/367653) 你是用的可持久化数据结构吧? @[蒟酱](/user/310818) @[Sham_Devour](/user/365542) 并没有吧? ```cpp int fa[N<<2]; ``` ```cpp inline int find(int x) {return x==fa[x]? x:fa[x]=find(fa[x]);} ``` ```cpp for(int i=1,tmp=n<<1;i<tmp;i++) fa[i] = i; ``` ```cpp fa[fu] = fa[fv] = cnt+n; ``` 就没了…… 其中 $fu$,$fv$ $\ < n\times2$
by 龙水流深 @ 2022-07-14 15:25:51


@[EastPorridge](/user/230865) 没必要这样说自己啦~人要自重
by 龙水流深 @ 2022-07-14 15:45:01


@[龙水流深](/user/231704) 我码的的时候没加 `if(cnt == n-1) break;` ,就是纯判断 u 和 v 是否联通也过了导致我得了个错结论,问题是我看的 csdn 博客也是这样说的,真心服了,应该就是开两倍就能过,不知道是什么问题QAQ
by EastPorridge @ 2022-07-14 15:53:37


@[龙水流深](/user/231704) 没有啊,就是普通的
by lingying @ 2022-07-14 17:19:39


| 下一页