题解:

网络流

最大权独立集=总和-最大流

然后构图

代码:

#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=;
int num,k,dis[N],t,ans,q[N],fi[N],ne[N],ans1,zz[N],sl[N],n,m,a[][];
void jb(int x,int y,int z)
{
ne[num]=fi[x];
fi[x]=num;
zz[num]=y;
sl[num++]=z;
swap(x,y);
z=;
ne[num]=fi[x];
fi[x]=num;
zz[num]=y;
sl[num++]=z;
}
int bfs()
{
memset(dis,0xff,sizeof dis);
dis[]=;
int l=,r=;
q[]=;
while (l<r)
{
int j=q[++l];
for (int i=fi[j];i!=-;i=ne[i])
if (dis[zz[i]]<&&sl[i]>)
{
dis[zz[i]]=dis[j]+;
q[++r]=zz[i];
}
}
if (dis[n]>)return ;
return ;
}
int find(int x,int low)
{
int b=;
if (x==n)return low;
for (int i=fi[x];i!=-;i=ne[i])
if (sl[i]>&&dis[zz[i]]==dis[x]+&&(b=find(zz[i],min(low,sl[i]))))
{
sl[i]-=b;
sl[i^]+=b;
return b;
}
return ;
}
void doit()
{
memset(fi,-,sizeof fi);
memset(a,,sizeof a);
memset(sl,,sizeof sl);
ans1=ans=;num=;
for (int i=;i<=n;i++)
for (int j=;j<=m;j++)
{
scanf("%d",&a[i][j]);
ans1+=a[i][j];
if ((i+j)&)jb(,(i-)*m+j+,a[i][j]);
else jb((i-)*m+j+,n*m+,a[i][j]);
}
for (int i=;i<=n;i++)
for (int j=;j<=m;j++)
if ((i+j)&)
{
if (i!=)jb((i-)*m+j+,(i-)*m+j+,1e9);
if (i!=n)jb((i-)*m+j+,i*m+j+,1e9);
if (j!=)jb((i-)*m+j+,(i-)*m+j,1e9);
if (j!=m)jb((i-)*m+j+,(i-)*m+j+,1e9);
}
int t;ans=;
n=n*m+;
while (bfs())
while (t=find(,1e9))ans+=t;
printf("%d\n",ans1-ans);
}
int main()
{
while (~scanf("%d%d",&n,&m))doit();
}

最新文章

  1. dotNet Core开发环境搭建及简要说明
  2. Mac配置Qt环境——Could not resolve SDK path for &#39;macosx10.8&#39;
  3. Java web 使用页面压缩
  4. HDU 5745 La Vie en rose (DP||模拟) 2016杭电多校联合第二场
  5. 第九篇 Integration Services:控制流任务错误
  6. CSS垂直居中对齐
  7. lua for循环
  8. c++课程实训 银行储蓄系统
  9. Unity3D 集合插件目录
  10. MongoDB 介绍及Windows下安装
  11. python-摩尔斯电码查询器
  12. [Leetcode][Python]37: Sudoku Solver
  13. 04737_C++程序设计_第4章_类和对象
  14. opencv如何实现【不用全局变量进行滚动条控制】
  15. Duplicate &lt;http&gt; element detected
  16. Bootstrap3 栅格系统-Less mixin 和变量
  17. (NO.00002)iOS游戏精灵战争雏形(八)
  18. visual studio 2015 Opencv 3.4.0配置
  19. ASP.NET MVC概述及第一个MVC程序
  20. css中的float属性以及清除方法 (2011-09-03 17:36:26)

热门文章

  1. shell 脚本中双引号 单引号 反引号 的区别
  2. C#数组的Map、Filter、Reduce操作
  3. php 安装Memcache扩展
  4. Centos下Nginx配置WEB访问日志并结合shell脚本定时切割
  5. DNS ARP地址解析原理
  6. hadoop cgroup+container配置
  7. 20145314郑凯杰 《Java程序设计》实验三 敏捷开发与XP实践实验报告
  8. Hive压缩格式
  9. django的基本用法
  10. Linux用户及权限分配