继续复习拓扑排序……
首先X在Y西面即X向Y连接了一条有向边,不考虑“地球是圆的”的情况下,我们可以判断这是一个DAG
用 f [ i ] f[i] f[i]直到路线上点 i i i经过点数最大值,那么对 f [ i ] f[i] f[i]产生贡献的点,也一定是对 i i i的入度产生贡献的点,于是有了利用拓扑排序的状态转移方程:
f [ i ] = m a x ( f [ i ] , f [ j ] + 1 ) , ∃ e d g e : j → i f[i]=max(f[i],f[j]+1),\exist edge:j\rightarrow i f[i]=max(f[i]