很典型的2-SAT问题……
可以对每个点是否为首都建图
考虑一条边(u,v),如果u不是首都,则v必须是。反之亦然。
u′→v,v′→u
然后对于一个国家里的点,有一个是首都则其他都不是首都
但是这样边数是 N2 级别的
可以用前缀优化建图。
对于一个点u,建2个变量
分别表示 u是否为首都(u与u’) 和 u所在的国家中以u为结尾的前缀是否存在首都(U与U’)
那么显然有以下限制:
很典型的2-SAT问题……
可以对每个点是否为首都建图
考虑一条边(u,v),如果u不是首都,则v必须是。反之亦然。
u′→v,v′→u
然后对于一个国家里的点,有一个是首都则其他都不是首都
但是这样边数是 N2 级别的
可以用前缀优化建图。
对于一个点u,建2个变量
分别表示 u是否为首都(u与u’) 和 u所在的国家中以u为结尾的前缀是否存在首都(U与U’)
那么显然有以下限制: