P r o b l e m \mathrm{Problem} Problem
给出 N 个点M 条边的无向图,定向得到有向无环图,使得最长路最短。
S o l u t i o n \mathrm{Solution} Solution
现在有一个定理叫做dilworth定理。具体的内容是这样的:
- 最长路径(点的个数) = 最小反链划分
一个集合为反链表示这个集合任意两点不能连通。最小反链划分表示整个图最少由多少个反链来划分。其中这张图是确定的,因此最小反链划分唯一。
由于这道题中,我们由于需要将图定向以后,得到最小反链划分的最小值,我们需要通过状压DP解决。
设 f [ i ] f[i] f[i]表示状态i是否是一个反链, g [ i ] g[i] g[i]表示对于状态i划分的最少反链数。
这样就有: g [ i ] = g [ i ′ ] + 1 , f [ i ] = 1 , i ′ ⊆ i g[i]=g[i']+1,f[i]=1,i'\subseteq i