摘要: 题目是中文的~对于网格这种图是一个典型的二分图(只要无奇数长度的回路的图就是二分图),先建立二分图,对于第 i 行第 j 列的点,i + j为偶数的归为 x集合,为奇数的归为 y 集合,相邻格子间连边,这就完成了二分图的构建。题目要求取出来的值最大,且不能相邻,所以每一个点独立集都符合不相邻的要求,现在要使独立集的点权和最大,因为点独立集和点覆盖集是对应的,具体说一个图去掉任意一个点独立集剩下的点会构成一个点覆盖集,所以只需求最小点权覆盖即可。有关最小点权覆盖之前介绍过。。直接上代码吧。#include #include #define Max 30#define INF 5000000int 阅读全文
posted @ 2013-11-08 21:53 贝尔摩德 阅读(166) 评论(0) 推荐(0) 编辑