POJ–2289–Jamie's Contact Groups【二分图的多个匹配+二分法答案】

POJ–2289–Jamie's Contact Groups【二分图的多个匹配+二分法答案】

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

链接:#include<cstring> #include<string> #include<fstream> #include<sstream> #include<iostream> #include<iomanip> #include<cstdio> #include<cctype> #include<algorithm> #include<queue> #include<map> #include<set> #include<vector> #include<stack> #include<ctime> #include<cstdlib> #include<functional> #include<cmath> using namespace std; #define PI acos(-1.0) #define MAXN 500010 #define eps 1e-6 #define INF 0x7FFFFFFF #define LLINF 0x7FFFFFFFFFFFFFFF #define seed 131 #define MOD 1000000007 #define ll long long #define ull unsigned ll #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 const int M=2010; int bmap[M][M]; //下标0開始 bool bmask[M]; int nx,ny; int vcy[M]; int cy[M][M]; int limit; //多重匹配限制 bool findpath(int u){ int i,j; for(i = 0; i < ny; i++){ if(bmap[u][i] && !bmask[i]){ bmask[i] = 1; if(vcy[i] < limit){ cy[i][vcy[i]++] = u; return 1; } for(j = 0; j < vcy[i]; j++){ if(findpath(cy[i][j])){ cy[i][j] = u; return 1; } } } } return 0; } bool MulMatch(){ memset(vcy,0,sizeof(vcy)); for(int i=0; i < nx; i++){ memset(bmask,0,sizeof(bmask)); if(!findpath(i)) return 0; } return 1; } char str[5000]; int main(){ int i,j,x; while(scanf("%d%d",&nx,&ny),nx||ny){ memset(bmap,0,sizeof(bmap)); for(i = 0; i < nx; i++){ scanf("%s", str); gets(str); stringstream sin(str); while(sin >> x){ bmap[i][x] = 1; } } int l = 0, r = nx; while(l < r){ limit = (l + r) / 2; if(MulMatch()) r = limit; else l = limit + 1; } printf("%d\n", r); } return 0; }

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117199.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月9日 上午11:00
下一篇 2022年1月9日 上午11:00


相关推荐

  • C dll签名 数字证书

    C dll签名 数字证书沃通北京数字认证腾讯云代码签名转载于 https www cnblogs com tangpeng97 p 8035022 html

    2025年7月4日
    3
  • xshell使用技巧(赚分享平台怎么样)

    Xshell是做什么用的?Xshell使用教程分享前言Xshell的特点Xshell如何远程连接Linux服务器最后分享几个Xshell快捷键前言Xshell是一款功能强大的终端模拟器,支持SSH1,SSH2,SFTP,TELNET,RLOGIN和SERIAL。通过提供业界先进的性能,Xshell包含了其他SSH客户端无法发现的功能和优势,作为新手,可能有很多不明白的地方,今天飞飞简单介绍一下Xshell和连接Linux服务器方法支持SSH1,SSH2,SFTP,TELNET,RLOGIN和SERI

    2022年4月14日
    54
  • win10怎么完全卸载sql2012_软件卸载了数据还在吗

    win10怎么完全卸载sql2012_软件卸载了数据还在吗怎样才能将SQL Server2012彻底的卸载干净?因为安装目录加上实例目录加上就有10G,由于一些实例目录默认在系统C盘,占据了很大的一部分,又担心怕删除了重要的文件,又担心卸载删除不干净,会导致下一次的安装不成功。以下是彻底删除SQLServer的步骤:第一步,在控制面板里面找到程序——卸载程序这一项,打开之后就会是这样的了 第二步,经过第一步打开卸载程序后,在里面找到Microso…

    2022年10月2日
    5
  • 【OpenClaw 实战:如何对接本地自定义模型(GPUStack + OpenAI 兼容接口完整教程)】

    【OpenClaw 实战:如何对接本地自定义模型(GPUStack + OpenAI 兼容接口完整教程)】

    2026年3月13日
    3
  • intellijidea2021最新激活码(JetBrains全家桶)[通俗易懂]

    (intellijidea2021最新激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~BI7JCUH1TG-eyJsaWNlb…

    2022年3月22日
    66
  • (二)缺陷报告「建议收藏」

    (二)缺陷报告「建议收藏」当测试人员发现一个缺陷,需要填写一份“缺陷报告”来记录这个缺陷,并通过这个缺陷报告告知开发人员所发生的问题–缺陷报告是测试人员和开发人员交流沟通的重要工具。案例1:张三在测试案例1-2-1程序时,发现除数为0时程序异常退出,向开发组提交一份缺陷报告。一、缺陷报告的组成:①缺陷编号(DefectID):提交缺陷的顺序②缺陷标题(summary):简明扼要的描述缺陷③缺陷…

    2026年1月14日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号