明显的二分图最大独立点权集

ans=总点权-最小割(最大流)

 const dx:array[..] of longint=(,,-,);
      dy:array[..] of longint=(,-,,);
      inf=; type node=record
       next,flow,point:longint;
     end; var edge:array[..] of node;
    d,p,cur,numh,h,pre:array[..] of longint;
    num:array[..,..] of longint;
    len,i,j,x,y,n,t,s,k:longint; procedure add(x,y,z:longint);
  begin
    inc(len);
    edge[len].point:=y;
    edge[len].flow:=z;
    edge[len].next:=p[x];
    p[x]:=len;
  end; //省略sap begin
  len:=-;
  fillchar(p,sizeof(p),);
  readln(n);
  t:=n*n+;
  for i:= to n do
    for j:= to n do
    begin
      read(x);
      inc(k);
      num[i,j]:=k;
      if (i+j) mod = then
      begin
        add(,k,x);
        add(k,,);
      end
      else begin
        add(k,t,x);
        add(t,k,);
      end;
      s:=s+x;
    end;   for i:= to n do
    for j:= to n do
      if (i+j) mod = then
      begin
        for k:= to do
        begin
          x:=i+dx[k];
          y:=j+dy[k];
          if num[x,y]> then
          begin
            add(num[i,j],num[x,y],inf);
            add(num[x,y],num[i,j],);
          end;
        end;
      end;
  writeln(s-sap);
end.

bzoj1475的更多相关文章

  1. BZOJ1324Exca王者之剑&BZOJ1475方格取数——二分图最大独立集

    题目描述   输入 第一行给出数字N,M代表行列数.N,M均小于等于100 下面N行M列用于描述数字矩阵 输出 输出最多可以拿到多少块宝石 样例输入 2 2 1 2 2 1 样例输出 4   题意就是 ...

  2. 【BZOJ1475】方格取数 [最小割]

    方格取数 Time Limit: 5 Sec  Memory Limit: 64 MB[Submit][Status][Discuss] Description 在一个n*n的方格里,每个格子里都有一 ...

  3. [BZOJ1475]方格取数 网络流 最小割

    1475: 方格取数 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1025  Solved: 512[Submit][Status][Discuss] ...

  4. 【bzoj1475】方格取数 网络流最小割

    题目描述 在一个n*n的方格里,每个格子里都有一个正整数.从中取出若干数,使得任意两个取出的数所在格子没有公共边,且取出的数的总和尽量大. 输入 第一行一个数n:(n<=30) 接下来n行每行n ...

  5. bzoj1475:方格取数

    传送门 最小割,这也是个经典题了,当初学最小割时没学会,这次算是理解了,首先二分图染色,将整个图分成黑色点和白色点,由于相邻的格子不能同时选,一个黑点一定对应四个白点,也就是我们只能选择这个黑点或者四 ...

  6. bzoj网络流

    近期看了一些bzoj的网络流,深感智商不够.不过对于网络流又有了进一步的理解. 还是mark一下吧. 献上几篇论文:1)<最小割模型在信息学竞赛中的应用> 2)<浅析一类最小割问题& ...

随机推荐

  1. 关于css的兼容

    这篇随笔为了方便自己后期的学习和查找,用来记录平时遇到的一些问题,后期会陆续更新 1.背景图 :background-position属性,在ff下不支持该属性的拆分写法(background-pos ...

  2. DataDictionaryTool 一款生成数据库字典工具支持mysql和oracle

    因为常常查看mysql数据结构,频繁操作.很不爽,于是想把数据表制作成数据字典,于是网上搜的一款工具 DataDictionaryTool ,最终制作成功,分享给大家! 1,此工具需要安装jre ,简 ...

  3. Java-Android 之应用停止错误

    在Android在手机上运行的时候: 经常会出现应用程序停止: 一: 因为触发的方法里面没有传值View 对象,方法报错

  4. Javascript基础学习(1)_类型、值和变量

    1.null和undefined ①概念上区别: null是一个特殊的对象,是“非对象”,使用typeof后是object对象 undefined用未定义的值表示更深层次的“空值”,它是变量的一种取值 ...

  5. c语言学习之基础知识点介绍(八):函数的基本用法

    本节开始说函数. 一.函数的基本用法  /* 作用:可以实现代码的复用,在一定程度上解决代码冗余的问题:方便后期维护. 语法: void 函数名(){ 函数体; } 函数命名要有意义,遵守驼峰命名法. ...

  6. proxy.ini文件调用

    self.CONFIG_FILENAME = os.path.splitext(os.path.abspath(__file__))[0]+'.ini' 改为: self.CONFIG_FILENAM ...

  7. XMPPFramework ios 例子中链接服务器失败,opnefire 服务器链接失败

    首先说下上周又做了几天得无用功, 之前一直用的是ejabberd ,这次换了opnefire,有人说opnefire跟新的xmpp协议不兼容,后来又更换成了ejabberd, Github 上得dem ...

  8. PHP 学习笔记 (二)

    PHP中的错误级别: PHP中的报错有3中级别: NOTICE.WARNING.ERROR. NOTICE是级别最轻的一种,一般表示代码不规范,但是程序是可以正常运行的 Warning是比NOTICE ...

  9. 24种设计模式--命令模式【Command Pattern】

    今天讲命令模式,这个模式从名字上看就很简单,命令嘛,老大发命令,小兵执行就是了,确实是这个意思,但是更深化了,用模式来描述真实世界的命令情况.正在看这本书的你,我猜测分为两类:已经工作的和没有工作的, ...

  10. 两个winform窗体同步

    /// <summary>        /// 初始left距离        /// </summary>        int initx = 0;        /// ...