关于次短路(二次发问)
查看原帖
关于次短路(二次发问)
807774
_Wind_Leaves_ShaDow_楼主2023/8/8 16:09

这是上一次的讨论。

这里面应该提到两种方法(劳驾各位巨佬自己点进去看,谢谢啦),但是本蒟蒻还是有问题想问。

对于删边和开两个数组,它们不应该 都可以 求得 严格次短路 或 非严格次短路 吗?


比如删边。在删掉每一条边会得到一个 假定的次短路,这时我们看是不是和 最短路 相等不就可以判断是不是 严格次短路 吗?


然后对于开两个数组。

分情况讨论新得到的路径长度:
1.小于当前最短路
2.等于当前最短路
3.大于当前最短路且小于当前次短路
4.大于等于次短路
并对 dis[i][0/1]dis[i][0/1] 的值进行替换

这里应该很显然可以看出稍微更改一下条件就能改变是否是 严格 次短路吧?

小于当前最短路就更新最短路并把曾经的最短路给次短路,等于当前最短路就不考虑,第三种情况就更新次短路,第四种情况就都不更新。

这样子是不是也能变成 严格 次短路?


我想表达的是,这两种方法好像都能够求得 严格 和 非严格 的次短路吧?但是在 P1491 集合位置 这一题中有 一篇讨论。这里的 lz 使用两种方案 只有一种方案通过并且疑似另一种方案无法通过,也就是说这两个方法应该是有本质上的区别的,请问一下区别是什么 QWQ。

谢谢各位啦。QAQ

2023/8/8 16:09
加载中...