跑路
这道题目真的不只是绿题。。蓝肯定是有的
设状态\(f[i][j][l]\)表示从\(i\)到\(j\)的长度是\(2^l\)是否可行
注意到题目给的每一条边的长度都是\(1\),所以对任意一条路径,每次跑步机结束时一定是停在某个点上的,不会停在某条边上,所以这个状态设置是正确的
然后还注意,为什么第一篇floyd把中间点放在内层循环是正确的?
实际上,此时的\(f\)根本没必要像一般的floyd一样设出“经过编号不超过\(k\)”的那一维,此时的阶段是\(l\)了!
所以我们只要把\(l\)放在最外层就可以了,其他的循环随便怎么搞
update 2024.5.21
好吧我只能说可能确实是绿题,还是挺简单的