UVAlive 4999 状态压缩DP+最短路

压缩的是格子中的H,然后计算反向SPFA计算如何最短。

然后问题的关键是如何任何人合并,看如下的代码注释部分(2,3是正解)。

枚举当前要求的人的状态,然后枚举其子状态(必须至少包含1人的),然后更新每个点,再来一次最短路就可以了。

比较NB的写法是注释中的第三种写法。

目前唯一不解的是,为什么第一种写法是错误的,枚举包含一个人的状态为什么不行呢?求指点呀……

其实就是一个赤裸裸的斯坦那树问题……当年太naive呀……

你可能感兴趣的:(live)