hdu 3488

可以作为KM 二分图最大权匹配模板

View Code
#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;
const int N=210;
const int inf=0x2fffffff;
const int Max=20000;
int match[N],n,m,lack,w[N][N],lx[N],ly[N];
bool vx[N],vy[N];
bool dfs(int x)
{
vx[x]=1;
for(int i=1;i<=n;i++)
{
if(vy[i]) continue;
int t=(lx[x]+ly[i]-w[x][i]);
if(t==0)
{
vy[i]=1;
if(match[i]==-1||dfs(match[i]))
{
match[i]=x;
return 1;
}
}
else if(lack>t) lack=t;
}
return 0;
}
void KM()
{
memset(lx,0,sizeof(lx));
memset(ly,0,sizeof(ly));
memset(match,-1,sizeof(match));
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(w[i][j]>lx[i])
lx[i]=w[i][j];
for(int i=1;i<=n;i++)
{
while(1)
{
memset(vx,0,sizeof(vx));
memset(vy,0,sizeof(vy));
lack=inf;
if(dfs(i)) break;
for(int i=1;i<=n;i++)
{
if(vx[i]) lx[i]-=lack;
if(vy[i]) ly[i]+=lack;
}
}
}
}
int main()
{
int cas,i,j;
int sum;
scanf("%d",&cas);
while(cas--)
{
scanf("%d%d",&n,&m);
memset(w,0,sizeof(w));
for(i=0; i<m; i++)
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(Max-c>w[a][b])w[a][b]=Max-c;
}
KM();
sum=0;
for( i=1; i<=n; i++)
sum+=Max-w[match[i]][i];
printf("%d\n",sum);
}
return 0;
}



转载于:https://www.cnblogs.com/xuschang-93/archive/2012/03/08/2385691.html

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

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

相关文章

Find The Multiple POJ - 1426 (BFS)

题目大意 给定一个整数&#xff0c;寻找一个只有0,1构成的十进制数使得这个数能够整除这个整数 解法 直接bfs第一位放入1&#xff0c;之后每一位放入1或者0 代码 #include <iostream> #include <queue> using namespace std; int n; void bfs() {queue<long lon…

心情不好,我就这样写代码

在 GitHub 上有一个项目&#xff0c;它描述了「最佳垃圾代码」的十九条关键准则。从变量命名到注释编写&#xff0c;这些准则将指导你写出最亮眼的烂代码。为了保持与原 GitHub 项目一致的风格&#xff0c;下文没有进行转换。读者们可以以相反的角度来理解所有观点&#xff0c;…

C++中默认构造函数使用时的要点

最近写代码的时候发现一个奇怪的现象&#xff1a;当我声明一个无参构造函数时&#xff0c;如果后面加上括号&#xff0c;声明出的对象就不能显示。比如下面的代码&#xff1a; [cpp] view plaincopy #include <stdio.h> class Test { public: Test() { …

一个立即关闭显示器的小软件(Masm开发,只有3KB大小)

我们在用电脑听歌或者下载网络资源时&#xff0c;经常都是不需要开着显示器的&#xff0c;这样不仅可以省电&#xff0c;最重要的是可以延长显示器的使用寿命&#xff0c;当然&#xff0c;对于笔记本电脑的电池省电也是很重要的。另外&#xff0c;对于液晶显示器&#xff0c;由…

动态规划之91 decode ways

题目链接&#xff1a;https://leetcode-cn.com/problems/decode-ways/description/ 参考&#xff1a;https://www.jianshu.com/p/5a604070cd11 题目大意&#xff1a;将一串数字&#xff0c;编码成A-Z的字符串。因为12-->L&#xff0c;或者12-->AB。所有12转成字符串一共有…

SQL Server中的STUFF函数的使用

STUFF ( character_expression , start , length ,character_expression ) 参数 character_expression 一个字符数据表达式。character_expression 可以是常量、变量&#xff0c;也可以是字符列或二进制数据列。start 一个整数值&#xff0c;指定删除和插入的开始位置。如果 st…

递归是会更秀strtok

前几天发的字符串反转题目&#xff0c;后面有一个新同学用了递归的方法来实现&#xff0c;看了下&#xff0c;真的是很秀。之前字符串反转的题目代码如下#include "stdio.h" #include "string.h" char input[] {"the sky is blue cris 1212321 apple…

判断输入的IP地址是否合法

判断输入的IP地址是否合法&#xff0c;ip地址的值在0~255之间&#xff0c;先把输入的IP的地址转换为一个字符串。 #define LEN (sizeof(xx)/sizeof(xx[0])) const char *xx[] {"192.168.1.1", "10.0.0.1", "127.256.0.1", "iugerjiogjioe…

偶作无题词一首

偶作无题词一首 读史籍&#xff0c;捉摸当初元璋。谈兴衰&#xff0c;寻思后来泽东。展抱负&#xff0c;携智巧&#xff0c;弄权谋&#xff0c;兴武功&#xff0c;万邦惊诧。立业不立身&#xff0c;立言不立行&#xff0c;枭雄本色。搏四海&#xff0c;威肃九州&#xff0c;建基…

ios开发网络篇—HTTP协议 - 转

一.URL 1.基本介绍 URL的全称是Uniform Resource Locator(统一资源定位符) &#xff0c;通过1个URL&#xff0c;能找到互联网唯一的1个资源 &#xff0c;URL就是资源的地址&#xff0c;位置&#xff0c;互联网上的每个资源都有一个唯一的URL 2.URL中常见的协议 (1)HTTP&#…

总结的一些内存问题

前言之前在实习时&#xff0c;听了 OOM 的分享之后&#xff0c;就对 Linux 内核内存管理充满兴趣&#xff0c;但是这块知识非常庞大&#xff0c;没有一定积累&#xff0c;不敢写下&#xff0c;担心误人子弟&#xff0c;所以经过一个一段时间的积累&#xff0c;对内核内存有一定…

云计算-从基础到应用架构系列-云计算的演进

为什么80%的码农都做不了架构师&#xff1f;>>> 开篇 本篇是主要讲述云计算的发展历程&#xff0c;由于云计算本身提出来也不是太久&#xff0c;并且其实云计算也是经过前人的一些经验总结提出&#xff0c;所以我们对之前的一 些计算机的发展史有个一定的了解&…

Linux下的基本常用命令解析

1.查进程ps命令查找与进程相关的PID号&#xff1a;ps a 显示现行终端机下的所有程序&#xff0c;包括其他用户的程序。ps -A 显示所有程序。ps c 列出程序时&#xff0c;显示每个程序真正的指令名称&#xff0c;而不包含路径&#xff0c;参数或常驻服务的标示。ps -e 此参数的效…

常用数据库脚本

SqlServer&#xff1a;1、修改数据库排序规则&#xff0c;改成中文方式(如果是英文方式的话&#xff0c;直接写insert插入中文会有问题的&#xff0c;需要使用insert into Table_1 values(N中文)的方式)Alter database master COLLATE Chinese_PRC_CI_AS;修改之后对于这个库中的…

这样理解mmap,挺有意思!

大概雍正皇帝怎么也不会想到&#xff0c;自己在西历2022年的男生和女生眼里&#xff0c;会是截然不同的两种形象。1以我对身边同学朋友的观察&#xff0c;男生们大多爱看《雍正王朝》&#xff0c;他们眼中的雍正&#xff0c;大约是个推行了“火耗归公”、“摊丁入亩”等遏制贪腐…

软件开发中的11个系统思维定律

为什么80%的码农都做不了架构师&#xff1f;>>> http://sd.csdn.net/a/20101217/284119.html?1292550154 彼得圣吉在其著作《第五项修炼》中提到的系统思维定律同样适用于软件开发。 1. 今日的问题源于昨日的解决方案&#xff08;Today’s problems come from yes…

boost.asio防止恶意空连接的方法

转载&#xff1a;http://blog.csdn.net/educast/article/details/13167847 网络服务器通常要应对一些意外情况&#xff0c;如空连接行为&#xff0c;指在遇到客户端连接后不进行任何操作&#xff0c;并很可能在大量空连接情况下导致服务器资源耗尽而无法工作。以下代码主要工作…

赢在中国 (2008-3-19)

赢在中国又换在10点&#xff0c;前面几分钟没有看到。虽然我一直不看好32号老董&#xff0c;但是我还是很好奇看看他是怎么样让自己又一次成为众人的对立面的。 我觉得32号和04号都不是心胸宽广之辈&#xff0c;但至少04号比32号真诚&#xff0c;只是他还没有修炼到32号的厚厚的…

为什么我对流程情有独钟?

写这个标题的原因是我有一个同事兼朋友&#xff0c;他的名字刚好和流程谐音&#xff0c;最近他刚离职回苏州工作&#xff0c;在球场下&#xff0c;他是我的良师益友&#xff0c;在球场上&#xff0c;他是我们可以信任的队友&#xff0c;我们不仅一次把比我们高大、速度比我们快…

UVa-401-Palindromes(回文)

这一题的话我们可以把映像字符的内容给放入一个字符串常量里面&#xff0c;然后开辟一个二维的字符串常量数组&#xff0c;里面放置答案。 对于回文实际上是很好求的&#xff0c;对于镜像的话&#xff0c;我们写一个返回char的函数&#xff0c;让它接收一个char。 接收之后进行…