POJ 3422 费用流

思路:
把每个方块拆成两个点
1个入点 1个出点
当前格子的入->出连费用-w[i][j] 容量1的边
当前格子的入->出连费用0 容量k-1的边
此格子的出向右&下(如果有的话)的格子的入连费用0容量k的边

//By SiriusRen
#include <queue>
#include <cstdio>
#include <cstring>
using namespace std;
#define N 55
#define maxn 5555
#define M 20050
#define mem(x,y) memset(x,y,sizeof(x))
int n,k,In[N][N],Out[N][N],cnt,a[N][N],vis[maxn],d[maxn],minn[maxn],with[maxn];
int first[maxn],next[M],v[M],edge[M],cost[M],tot,ans;
void Add(int x,int y,int C,int E){edge[tot]=E,cost[tot]=C,v[tot]=y,next[tot]=first[x],first[x]=tot++;}
void add(int x,int y,int C,int E){Add(x,y,C,E),Add(y,x,-C,0);}
bool tell(){mem(vis,0),mem(d,0x3f),mem(minn,0x3f),mem(with,0);queue<int>q;q.push(0),d[0]=0;while(!q.empty()){int t=q.front();q.pop();vis[t]=0;for(int i=first[t];~i;i=next[i])if(d[v[i]]>d[t]+cost[i]&&edge[i]){d[v[i]]=d[t]+cost[i],minn[v[i]]=min(minn[t],edge[i]),with[v[i]]=i;if(!vis[v[i]])vis[v[i]]=1,q.push(v[i]);}}return d[cnt]!=0x3f3f3f3f;
}
int zeng(){for(int i=cnt;i;i=v[with[i]^1])edge[with[i]]-=minn[cnt],edge[with[i]^1]+=minn[cnt];return d[cnt];
}
int main(){memset(first,-1,sizeof(first));scanf("%d%d",&n,&k);for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)scanf("%d",&a[i][j]),In[i][j]=++cnt,Out[i][j]=++cnt;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){add(In[i][j],Out[i][j],-a[i][j],1);add(In[i][j],Out[i][j],0,k-1);if(In[i+1][j])add(Out[i][j],In[i+1][j],0,k);if(In[i][j+1])add(Out[i][j],In[i][j+1],0,k);}add(0,1,0,k),add(cnt,cnt+1,0,k),cnt++;while(tell())ans+=zeng();printf("%d\n",-ans);
}

这里写图片描述

转载于:https://www.cnblogs.com/SiriusRen/p/6532116.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/541974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

static和extern对函数的作用

2019独角兽企业重金招聘Python工程师标准>>> 外部函数&#xff1a;定义的函数能被本文件和其他文件访问 默认情况下所有函数都是外部函数 不允许有同名的外部函数内部函数&#xff1a;定义的函数只能被本文件访问&#xff0c;其他文件不能访问 允许不同文件中有同名…

MySQL从服务器写入报错吗_MySQL主从复制读写分离及奇怪的问题

一直都没有写blog的习惯&#xff0c;以前总觉得自己的脑子就是最好的记忆容器&#xff0c;现在觉得我好像有个假脑子。当时是使用阿里云镜像&#xff0c;安装了两台ECS&#xff0c;结果配置MySQL的时候出现了UUID重复问题。先从配置主从开始吧&#xff0c;值得记录。文中很多部…

flask mysql 版本_flask 数据库字段类型

使用flask_sqlalchemy首先引用一下廖雪峰Python教程里关于sqlalchemy的话&#xff0c;这里我们要讲的是flask_sqlalchemy的用法。1. 安装用pip安装即可&#xff0c; 进入cmd控制台输入pip install Flask-SQLAlchemy2. 引用引用方法有2种&#xff0c;旧的和新的。from f...文章邻…

Kafka的配置文件详细描述

在kafka/config/目录下面有3个配置文件&#xff1a; producer.propertiesconsumer.propertiesserver.properties (1).producer.properties:生产端的配置文件 #指定kafka节点列表&#xff0c;用于获取metadata&#xff0c;不必全部指定 #需要kafka的服务器地址&#xff0c;来获取…

二维数组m的元素是4个字符组成的串_串、数组和广义表

1. 串1.1 串的定义ADT String{ 数据对象&#xff1a;D{ai|ai∈CharacterSet, i1, 2, …, n, n≧0} 数据关系&#xff1a;R1{|ai-1, ai∈D, i2, …, n} 基本操作&#xff1a; 生成一个值等于chars的串 复制一个串 判断串是否空串 比较串的大小 返回串元素的个数 将串清空 …

流媒体测试笔记记录之————阿里云监控、OBS、FFmpeg拉流和推流变化比较记录...

OBS设置视频&#xff08;512kbps&#xff09;和音频&#xff08;128kbps&#xff09;比特率 阿里云监控结果&#xff1a; 使用FFmpeg拉流到Nginx 服务器测试比特率 第二次测试&#xff0c;修改视频和音频比特率 OBS设置 阿里云监控 Nginx 比特率变化 FFMPEG 拉流截图

python方差分析模型的预测结果怎么看_statsmodels中方差分析表结果解析

引言通常我们在对多个变量进行统计分析的时候&#xff0c;结果的汇总和整理需要耗费大量的时间和精力&#xff0c;稍有不慎还有可能出现错误。因此在对多个变量统计分析的时候&#xff0c;使用自动化的脚本对结果进行整理和汇总就十分的方便了。这里笔者使用Python当中的statsm…

mysql 刷新二进制日志_使用binlog日志恢复MySQL数据库删除数据的方法

binlog日志简介:binlog 就是binarylog&#xff0c;二进制日志文件&#xff0c;这个文件记录了MySQL所有的DDL和DML(除了数据查询语句)语句&#xff0c;以事件形式记录&#xff0c;还包含语句所执行的消耗的时间。binlog日志包括两类文件&#xff1a;1)二进制日志索引文件(文件名…

执行git push出现Everything up-to-date

在github上git clone一个项目&#xff0c;在里面创建一个目录&#xff0c;然后git push的时候&#xff0c;出现报错"Everything up-to-date" 原因&#xff1a;1&#xff09;没有git add .2&#xff09;没有git commit -m "提交信息"如果上面两个步骤都成功…

Unity3D Adam Demo的学习与研究

1.简述 这篇文章是对Adam各种相关资料了解后进行一些精简的内容。如果你想仔细研究某个技术请跳转至unity相关页面。 Adam官方页面: https://unity3d.com/cn/pages/adam 搬运视频以及资源包网盘下载: http://pan.baidu.com/s/1jH6NF86 Adam这个demo由8个人的团队耗时6个月(part…

python安卓自动化实现方法_uiautomator +python 实现安卓UI自动化

简单实例注&#xff1a;安卓6.0以上的手机不会自动安装app-uiautomator.apk和app-uiautomator-test.apk&#xff0c;需要手动安装&#xff0c;否则报错ioerror RPC server not starteduiautomator pythonHTMLTestRunner 安卓UI自动化实现#coding:utf-8from uiautomator importD…

2_C语言中的数据类型 (四)整数与无符号数

1.1 sizeof关键字 sizeof是c语言关键字&#xff0c;功能是求指定数据类型在内存中的大小&#xff0c;单位&#xff1a;字节 sizeof与size_t类型 1.1 int类型 1.1.1 int常量&#xff0c;变量 int就是32位的一个二进制整数&#xff0c;在内存当中占据4个字节…

Spring实战——通过Java代码装配bean

上篇说的是无需半行xml配置完成bean的自动化注入。这篇仍然不要任何xml配置&#xff0c;通过Java代码也能达到同样的效果。 这么说&#xff0c;是要把上篇的料拿出来再煮一遍&#xff1f; 当然不是&#xff0c;上篇我们几乎都在用注解的方式如ComponentScan Component等就完成了…

java.io和util的区别_Java NIO与IO的区别和比较

Java NIO与IO的区别和比较导读J2SE1.4以上版本中发布了全新的I/O类库。本文将通过一些实例来简单介绍NIO库提供的一些新特性&#xff1a;非阻塞I/O&#xff0c;字符转换&#xff0c;缓冲以及通道。一. 介绍NIONIO包(java.nio.*)引入了四个关键的抽象数据类型&#xff0c;它们共…

区块链+税务的思考

2016年&#xff0c;区块链技术火了&#xff01;各大金融公司、互联网巨头都竞相参加到区块链技术的研究中。我们公司的业务是税务的信息化领域&#xff0c;也希望通过区块链技术的应用&#xff0c;来提升为财税领域的服务。 区块链技术优缺点总结 下图是对区块链技术的一些特点…

如何使用JavaScript删除CSS属性?

In this article, well see how we can remove a CSS property from a certain element using JavaScript? We can remove only those properties that we assign ourselves and the pre-default ones cannot be removed by this method. 在本文中&#xff0c;我们将看到如何使…

【喜报】JEEWX荣获“2016 年度码云新增热门开源软件排行榜”第一名!

为什么80%的码农都做不了架构师&#xff1f;>>> 2016 年度码云新增项目排行榜 TOP 50 正式出炉&#xff01;根据 2016 年在码云上新增开源项目的 Watch、Star、Fork 数量以及其他角度的统计&#xff0c;JEEWX捷微管家荣获“2016 年度码云新增热门开源软件排行榜”第…

java 二叉树特点_疯狂java笔记之树和二叉树

树的概述树是一种非常常用的数据结构&#xff0c;树与前面介绍的线性表&#xff0c;栈&#xff0c;队列等线性结构不同&#xff0c;树是一种非线性结构1.树的定义和基本术语计算机世界里的树&#xff0c;是从自然界中实际的树抽象而来的&#xff0c;它指的是N个有父子关系的节点…

tomcat +apache 配置集群

2019独角兽企业重金招聘Python工程师标准>>> APACHE2.2.25TOMCAT6.0.37配置负载均衡 目标: 使用 apache 和 tomcat 配置一个可以应用的 web 网站&#xff0c;要达到以下要求&#xff1a; 1. Apache 做为 HttpServer &#xff0c;后面连接多个 tomcat 应用实例&…