刷题心得—拓扑序在图上DP中的应用
参考CF721C Journey这道题。一道图上DP。DAG上DP。这个题目需要用到拓扑排序。如果不拓扑排序,直接在一个入度为0的点进去开始按边走转移,会出现错误。
为什么呢?
我们知道,DP是分阶段的。这个阶段的划分在转移的设计中显得至关重要。那么相对于线性DP的容易划分阶段,对于这种图上DP,我们更需要注意阶段划分的正确性。
拓扑序有什么性质?
在DAG中,任意一条边((x ightarrow y)),保证(x)在拓扑序中的出现顺序在(y)前面。
这样的话,我们就保证了DAG转移的时候,对于每个点,可以转移得到它的节点都已经被我们处理过了。也就保证了一个阶段处理完再处理下一个阶段。进而保证了DP的无后效性。
hin重要。