题目是给了你一个spfa+slf优化的程序,然后,让你造个数据卡掉他,
其实那个slf优化根本不算是优化,只是在某些图上可能会更好,但是可以通过直接构造图将其由原本spfa最坏nm的复杂度卡成2^n复杂度
至于具体的,这题是曹圣 (http://blog.csdn.net/jinzhao1994) 给我讲的,他那里写的很详细,我就直接copy了
在这个图中,我们设计算从i到n的最短路所需要的运算次数为f(i),则对于奇数号点p,如1,3,..,n,会把p+1放到队尾,把p+2放到队首,因为p+2在队首,所以会先从p+2开始,又因为后边所有的边都是非正的,所以他们不会小于p+2,即他们也会放到队首。这样我们就先计算了以下从p+2出发的一次最短路,然后在从p+1到p+2,更新了p+2的值,又重新计算