codevs 1028 花店橱窗布置 (KM)

/*裸地KM*/
#include<iostream>
#include<cstdio>
#include<cstring>
#define maxn 110
#define inf 0x3f3f3f3f
using namespace std;
int n,m,ans,match[maxn],w[maxn][maxn],d;
int fx[maxn],fy[maxn],lx[maxn],ly[maxn];
bool Dfs(int i)
{fx[i]=1;for(int j=1;j<=m;j++)if(fy[j]==0&&lx[i]+ly[j]==w[i][j]){fy[j]=1;if(match[j]==0||Dfs(match[j])){match[j]=i;return 1;}}return 0;
}
void KM()
{for(int i=1;i<=n;i++){lx[i]=-inf;for(int j=1;j<=m;j++)lx[i]=max(lx[i],w[i][j]);}for(int i=1;i<=n;i++){while(1){memset(fx,0,sizeof(fx));memset(fy,0,sizeof(fy));if(Dfs(i))break;d=inf;for(int j=1;j<=n;j++)for(int k=1;k<=m;k++)if(fx[j]&&!fy[k])d=min(d,lx[j]+ly[k]-w[j][k]);if(d==inf)break;for(int j=1;j<=n;j++)if(fx[j])lx[j]-=d;for(int j=1;j<=m;j++)if(fy[j])ly[j]+=d;}}for(int i=1;i<=m;i++)if(match[i])ans+=w[match[i]][i];
}
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)scanf("%d",&w[i][j]);KM();printf("%d\n",ans);return 0;
}

 

转载于:https://www.cnblogs.com/yanlifneg/p/5648191.html

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

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

相关文章

eslint常用设置;eslint关闭驼峰命名;eslint关闭全等于===校验;eslint关闭未定义变量报错;eslint关闭声明后未使用变量报错;eslint关闭单闭合标签校验;

详细配置eslint操作可看此篇 eslint各种限制规则可看此篇 在 .eslintrc.js 文件修改规则&#xff1a;0关闭 1警告 2报错 module.exports {root: true,parserOptions: {parser: babel-eslint,sourceType: module},env: {browser: true,node: true,es6: true,},extends: [plu…

linux 进程开始与终止

exit(0) 表示程序正常退出&#xff1b; exit(1)/exit(-1) 表示程序异常退出&#xff1b; exit() 结束当前进程/当前程序/&#xff0c;在整个程序中&#xff0c;只要被调用就结束&#xff0c;返回参数值&#xff1b; return() 是当前函数返回&#xff0c;当然如果是在主函数m…

类的友元

{ public:CBottle(double height, double diameter){m_Height height;m_Diameter diameter;}friend CCarton::CCarton(const CBottle& aBottle); private:double m_Height;double m_Diameter;//这是定义友元函数的模式 }; CCarton::CCarton(const CBottle& aBottle) …

⭐️ vue项目使用微信表情;vue引入微信表情emoji;vue中使用微信表情包emoji;

以下的表情是通过引入emoji-vue插件做的&#xff1b;如果只是简单的显示个别表情&#xff0c;其实还可以用html的emoji的标签来完成 &#x1f61d;&#x1f64a;&#x1f47f;&#x1f525;&#x1f335;&#x1f344;&#x1f349;&#x1f1e8;&#x1f1f3;&#x1f61a;&am…

简单的C++线程类实现, windows平台

一个抽象的线程基类, 再来个具体的线程类并实现相关接口&#xff0c;再写个主函数来调用下。上代码&#xff1a; Thread.h /*Windows平台线程类实现开发环境: Win7_x64 VC2012*/#ifndef __THREAD_H__#define __THREAD_H__#pragma once#include <string>#include <w…

yarn 包管理器设置淘宝镜像和sass镜像

淘宝镜像 yarn config set registry http://registry.npm.taobao.org/ -g sass镜像 yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g

奈奎斯特采样定理:

&#xff08;1&#xff09;奈奎斯特采样定理&#xff1a; 当采样频率fs.max大于信号中最高频率fmax的2倍时&#xff0c;即&#xff1a;fs.max>2fmax,则采样之后的数字信号完整地保留了原始信号中的信息&#xff1b; 转载于:https://www.cnblogs.com/jocobHerbertPage/archiv…

TCP重组数据包分析

参照TCP/IP详解第二卷24~29章&#xff0c;详细论述了TCP协议的实现&#xff0c;大概总结一下TCP如何向应用层保证数据包的正确性、可靠性&#xff0c;即TCP如何实现对数据报文的重组。 首先要设计两个报文队列&#xff0c;一个存放正常来到的报文&#xff0c;一个存放失序到来…

vue项目引入字体图标iconfont

直接将icon下载成图片使用或者通过import方式移入url使用&#xff0c;看此篇 本文介绍两种使用方案&#xff1a;1.使用Font class引入字体图标&#xff08;推荐&#xff09; 2.使用Symbol 引用 如果是分批次的下载了好几次字体图标&#xff0c;那么可以将解压的代码css等文件放…

Why is processing a sorted array faster than an unsorted array?

这是我在逛 Stack Overflow 时遇见的一个高分问题&#xff1a;Why is processing a sorted array faster than an unsorted array?&#xff0c;我觉得这是一个非常好的用来讲分支预测&#xff08;Branch Prediction&#xff09;的例子&#xff0c;分享给大家看看 一、问题引入…

IP分片和TCP分段的区别

1.MTU(Maximum Transmission Unit&#xff0c;MTU)&#xff0c;最大传输单元 &#xff08;1&#xff09;以太网和802.3对数据帧的长度都有一个限制&#xff0c;其最大值分别是1500和1492个字节。链路层的这个特性称作MTU。不同类型的网络大多数都有一个上限。如果IP层有一个数…

求素数: 一般线性筛法 + 快速线性筛法

From: http://blog.csdn.net/dinosoft/article/details/5829550 素数总是一个比较常涉及到的内容&#xff0c;掌握求素数的方法是一项基本功。 基本原则就是题目如果只需要判断少量数字是否为素数&#xff0c;直接枚举因子2 。。N^(0.5) &#xff0c;看看能否整除N。 如果需要…

uni-app微信小程序uni.getLocation获取位置;authorize scope.userLocation需要在app.json中声明permission;小程序用户拒绝授权后重新授权

需求&#xff1a;点击按钮获取当前微信位置&#xff0c;以及点击拒绝授权后&#xff0c;下次点击还可以拉起授权窗口&#xff1b; 拒绝授权后重新拉起授权操作&#xff1a; 直接授权操作&#xff1a; 一、问题1&#xff1a;报authorize scope.userLocation需要在app.json中声明…

安装了cnpm,还是报错cnpm : 无法加载文件 C:\Users\admin\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本。

当我安装了cnpm 但是使用的时候还是报错&#xff1a; 解决方法&#xff1a; 1、以管理员身份打开Windos PowerShell 2、输入“ set-ExecutionPolicy RemoteSigned”回车 3、根据提示&#xff0c;输入A或Y&#xff0c;回车 4、再次执行cnpm -v&#xff0c;即可看到提示版本…

PHP代码审计之反序列化攻击链CVE-2019-6340漏洞研究

关键词 php 反序列化 cms Drupal CVE-2019-6340 DrupalKernel 前言 简简单单介绍下php的反序列化漏洞 php反序列化漏洞简单示例 来看一段简单的php反序列化示例 <?phpclass pingTest {public $ipAddress "127.0.0.1";public $isValid False;public $output…

Portal-Basic Java Web 应用开发框架:应用篇(八) —— 整合 Freemarker

Portal-Basic Java Web应用开发框架&#xff08;简称 Portal-Basic&#xff09;是一套功能完备的高性能Full-Stack Web应用开发框架&#xff0c;内置稳定高效的MVC基础架构和DAO框架&#xff08;已内置Hibernate、MyBatis和JDBC支持&#xff09;&#xff0c;集成 Action拦截、F…

日常遇到的小问题

日常开发过程中&#xff0c;总会遇到各种小问题&#xff0c;特此记录下各种解决。 1. eclipse中部署项目到tomcat&#xff0c;启动tomcat时报错&#xff1a;  Resource is out of sync with the file system: ................ 太长只截取前一段&#xff0c;解决办法&#xff…

原始套接字抓取所有以太网数据包与分析

If you have any idea, just send comments to me. ####1.原始套接字介绍 关于socket使用客户机/服务器模型的 SOCK_STREAM 或者 SOCK_DGRAM 用于 TCP 和 UDP 连接的应用更为普遍一些&#xff0c;而如果考虑到从网卡中直接捕获原始报文数据就需要用到原始套接字 SOCK_RAW 类型…

Go在谷歌:以软件工程为目的的语言设计

From: http://www.oschina.net/translate/go-at-google-language-design-in-the-service-of-software-engineering 1. 摘要 (本文是根据Rob Pike于2012年10月25日在Tucson, Arizona举行的SPLASH 2012大会上所做的主题演讲进行修改后所撰写的。) 针对我们在Google公司内开发软件…

微信小程序,用户拒绝授权后重新授权;uni-app小程序,用户拒绝授权后点击无效;重新进入后拉起位置授权框;

问题&#xff1a;当用户第一次进入小程序&#xff0c;点击授权按钮后&#xff0c;点了拒绝&#xff0c;再次点击不会出现授权页面&#xff0c;只有再次进入小程序的时候&#xff0c;才会出发请求授权 。 案例&#xff1a; 假如我们获取微信位置&#xff0c;第一次点击的时候弹起…