关于此题“动态加边 SPFA”复杂度的质疑
查看原帖
关于此题“动态加边 SPFA”复杂度的质疑
51971
syksykCCCPAHs楼主2021/5/23 18:01

题解区大多是两种做法,一种是 LCT,一种是 SPFA。

LCT 已经被考纲踢出 NOI 了,所以我就去了解了一下 SPFA 的做法。

大概是把边按照 aa 排序以后,把 bb 作为边权,每次只把新加入的边的端点放进队列里进行 SPFA。

有几位老哥的题解里复杂度分析的听上去很有道理。。。

于是我设想,如果图是一张类似菊花的东西,那每次都会把花心放进队列,而扩展花心难道不是很慢的吗?

于是我就造了一组菊花的数据,把题解里所有 SPFA 的做法和部分 LCT 的做法测试了一下,做了对比:

  • xyz32768, LCT, (-O2)AC,0.112s
  • Soulist, LCT, (-O2)AC,0.135s
  • panda_2134, LCT, (-O2)AC,0.149s
  • FlashHu, LCT, (-O2)AC,0.109s
  • λᴉʍ, LCT, (-O2)AC,0.133s

可以看到 LCT 做法表现优秀

  • xukuan, SPFA, (-O2)AC,4.971s, (-O0)AC,9.328s
  • Qiuly, SPFA, (-O2)WA,1.615s, (-O0)AC,8.894s
  • Refun(部分), SPFA, (-O2)AC,6.393s, (-O0)AC,9.128s
  • Dispwnl, SPFA, (-O2)AC,5.324s, (-O0)AC,9.323s
  • Zoewilly, SPFA, Pascal, 我不会编译!
  • swift_zym, SPFA, (-O2)AC,5.052s, (-O0)AC,8.68s
  • Imitatоrs, SPFA, (-O2)AC,12.175s, (-O0)AC,13.391s

而 SPFA 做法全部挂了……

请求加强数据,撤除部分题解 /kel

2021/5/23 18:01
加载中...