前面1099、1100两道题不太明白,上网查的题解上又有太多前置知识点没学过,还望老师讲解。
今天出乎意料地看懂了差分约束,并在下方提示的帮助下完成了1102。
AC代码(Spfa):
看到提示上写用Bellman-Ford算法也不会超时(虽然效率绝对不如Spfa),我就用Bellman-Ford打了一遍。
其实这道题的重点不在使用哪个最短路算法上,而是在怎样使用差分约束上。
AC代码(Bellman-Ford):
这份代码的函数部分和“提示”上的代码差不多,而主程序很好理解,就不加注释了。
这份代码的耗时是12ms,而前面Spfa算法则是0ms,而Spfa算法无论何时耗时都是小于等于Bellman-Ford的(毕竟是Bellman-Ford的队列优化算法),所以如果遇到带负权最短路(包括今天看到的差分约束)题目,首选算法肯定是Spfa。
原文地址:https://www.cnblogs.com/wangximing/p/11296687.html
时间: 2024-10-03 16:48:14