链接P2254 [NOI2005]瑰丽华尔兹 首先有个很朴素的\(dp\),设\(f_{i,j,k}\)表示\(k\)时刻地点\(i,j\)的最长长度. 然后这样不能优化,考虑利用一段连续时间是同一个方向,设\(f_{k,i,j}\)表示时段\(k\),地点\(i,j\)的最长长度. 那么\[f_{k,i,j}=max(f_{k,i,j},f_{k,i*,j*}+dis)(i*,j*为上一个合理的位置)\] 如果中间有一个不合法位置直接退出(然而这样就过了--) 显然有限制\(dis\leq l…