有没有大佬来分析一下这题的时间复杂度
查看原帖
有没有大佬来分析一下这题的时间复杂度
1024338
Le0Chan楼主2024/4/17 15:51

rt,本题的做法是二分图最大多重匹配,具体来说每个点可匹配的边不再是 11,而是 kk。对应到网络流上即把源汇的连边容量改为 kk。这种图的最大流复杂度应当是 O(mn)O(m\sqrt n) 的。在本题中还需要枚举 kk,最终复杂度为 O(nmn)O(nm\sqrt n)。以上即为两篇题解所提到的不可过做法。并且那两篇题解分析出了神秘的复杂度,第一篇题解甚至说 dinic 的复杂度是 O(∣V∣∣E∣)O(|V||E|),有点搞笑。

按照 O(nmn)O(nm\sqrt n) 的复杂度来说本题是可过的,并且实测可过。

又按照题解所说的一种优化办法。即倒序枚举 kk 使得解决完每个 kk 后只需要给源汇的连边的容量 +1+1 即可,正确性不会有问题。时间复杂度我不会分析,第一篇题解给出的结论是:加 kk 次 11 和只跑一次加 kk 的复杂度相同,于是总的复杂度与只跑一次的复杂度相同。按理来说这种做法的复杂度是 O(mn)O(m\sqrt n)。于是我想到 mm 是否还能更大一些?我试图将 mm 开到 10610^6 并运行这个优化算法,但是截至发帖他还是没有跑出来,所以这个复杂度应当是错误的,但是该怎么分析呢?

2024/4/17 15:51
加载中...