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

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. apache下配置虚拟主机案例详解

    案例说明:    域名:        www.tianyik.com  /var/html/www        blog.tianyik.com  /var/html/blog        bb ...

  2. Genymotion无法启动Virtual Box

    Genymotion是非常快速的Android模拟器.这两天搞了一下Android Studio,想用Genymotion跑起一下,但死活都启动不了.很奇怪,明明几个月前还顺利启动的. Genymot ...

  3. 过滤器(filter)实现用户登录拦截

    过滤器(filter)实现用户登录拦截 >>>>>>>>>>>>>>>>>>>> ...

  4. android下4G上网卡

    架构: APP Call Trachker/SMS Dispatch/Service Tracker/Data Tracker ------------------------------------ ...

  5. git 分布式版本控制了解

    今天也来了解一下这个版本控制神器,下面了解一些词语的意思 先说集中式版本系统,版本库是集中放在中央服务器的,干活的时候,都是用自己的电脑,从中央处理器取得最新的版本,干完活后,在把自己的活推送给服务器 ...

  6. 求职,找工作,平台大PK

    国内 猎聘网:www.lietou.com 拉钩网:Lagou.com 智联招聘:www.zhaopin.com 前程无忧:http://www.51job.com/ 中华英才网:chinahr.co ...

  7. 第一章 SQL基础

    第一部分:SQL基础1. 为什么学习SQL自人类社会形成之日起,社会的运转就在不断地产生和使用各种信息(文献.档案.资料.数据等):在如今所谓的信息时代,由于计算机和互联网的作用,信息的产生和使用达到 ...

  8. 如何改app图标名称

    InfoPlist.strings文件里写上:       CFBundleDisplayName="中文名字";

  9. ios专题 - openSSL

    1  概述 1.1  产生背景 基 于万维网的电子商务和网上银行等新兴应用,极大地方便了人们的日常生活,受到人们的青睐.由于这些应用都需要在网络上进行在线交易,它们对网络通信的安全 性提出了更高的要求 ...

  10. javascript 浏览器执行断点

    在javascript代码里面有个语句可以让浏览器执行到这里的时候触发断点,这个命令就是 debugger 很好用