hdu 1565

Description

给你一个n*n的格子的棋盘,每个格子里面有一个非负数。
从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取的数所在的2个格子不能相邻,并且取出的数的和最大。

解题思路

分析下题目的一些关键的特点:
首先此题最大特点就是一个点只和周围4个点有关联,简单的说就是可以通过一个奇偶染色构造二分图(为么么?),在假设如果每个的点权都为1,那此题就可以转换成最大独立集。那现在这是个什么问题呢?

其实这是一个二分图最大点权独立集问题,就是找出图中一些点,使得这些点之间没有边相连,这些点的权值之和最大。独立集与覆盖集是互补的,求最大点权独立集可以转化为求最小点权覆盖集(最小点权支配集)。最小点权覆盖集问题可以转化为最小割问题解决。

结论:
最大点权独立集 = 所有点权 - 最小点权覆盖集 = 所有点权 - 最小割集 = 所有点权 -网络最大流。

posted on 2011-08-28 21:05  宇宙吾心  阅读(381)  评论(0)    收藏  举报

导航