关于 KM 算法的一个问题
  • 板块学术版
  • 楼主leexzq
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/4/28 18:43
  • 上次更新2023/10/28 02:43:39
查看原帖
关于 KM 算法的一个问题
320950
leexzq楼主2022/4/28 18:43

众所周知,KM 有很多 O(n3)O(n^3) 写法。

但我对这句话有一个疑惑,它在基本所有代码中都出现:

if (slack[y] > lx[x] + ly[y] - w[x][y]) 
{
     slack[y] = lx[x] + ly[y] - w[x][y];
     pre[y] = v;
}
//x指左部点,y指枚举的右部点,v指当前匹配x的右部点

这个时候这条边不是还不存在,没有加入交错树吗?为什么要把 yy 的前驱设为 vv 呢?

而且根据我的尝试,如果把这句话挪到其它地方或者直接删掉,会直接 WA 掉。

bdfs 无果,有没有奆佬解释一下这是为什么?

2022/4/28 18:43
加载中...