将每个点拆成\(d\)个,\(u\longrightarrow v\Longrightarrow (u,i)\longrightarrow (v,i\%d+1)\)
结论1:\(i\neq j\),若\((u,i)\)能走到\((u,j)\)则\((u,j)\)也能走到\((u,i)\)
证明:
令\(x=|j-i|\),则\((u,j)\)能走到\((u,j+x)\)
将图缩点,然后在DAG跑dp
原文:https://www.cnblogs.com/Grice/p/12920324.html