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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 死链接检测 java,【死链接检测】工具查询方法及死链接处理方法

    死链接检测 java,【死链接检测】工具查询方法及死链接处理方法【死链接检测】工具查询方法及死链接处理方法死链接不但影响用户的体验,而且影响网站的跳出率,网站的跳出率直接关系到网站的排名。网站死链接量达到一定的程度,甚至网站会降权或者被K站,站长们应改高度的重视。死链接404页面1.网站死连接的查找。在360浏览器里——找到扩展——查找输入死链接,安装好插件。安装好以后,浏览器的上面就有一个这样的图标。打开你的网站,点击网页链接检查。出现下面的图片。然后收集死…

    2022年7月22日
    8
  • 为什么我charles抓包带了给锁_使用Charles抓包

    为什么我charles抓包带了给锁_使用Charles抓包使用Charles抓包Charles抓包Charles是一个HTTP代理服务器/HTTP监视器/反转代理服务器。它允许一个开发者查看所有连接互联网的HTTP通信。这些包括request、response现HTTPheaders(包含cookies与caching信息)。1、配置抓包环境1)下载Charles2)安装Charles下载完毕之后,直接进行安装即可正常使用(ps:不注册的话,每次使用3…

    2022年5月24日
    148
  • vsftp简介[通俗易懂]

    vsftp简介[通俗易懂]一、简介FTP(文件传输协议)全称是:VerySecureFTPServer。Vsftpd是linux类操作系统上运行的ftp服务器软件。vsftp提供三种登陆方式:1.匿名登录2.本地用户登录3.虚拟用户登录vsftpd的特点:1.较高的安全性需求2.带宽的限制3.创建支持虚拟用户4.支持IPV65.中等偏上的性能6.可分…

    2022年9月24日
    0
  • ubuntu16.04 安装 dstat,使用 报错「建议收藏」

    ubuntu16.04 安装 dstat,使用 报错「建议收藏」报错hairui@hadoop:~$dstatFile"/usr/bin/dstat",line119exceptgetopt.error,exc:^SyntaxError:invalidsyntaxhairui@hadoop:~$dstat程序“dstat”尚未安装。您可以使用以下命令安装:sudo…

    2022年6月18日
    35
  • 学习笔记:02_Git入门

    学习笔记:02_Git入门

    2021年7月11日
    60
  • laravel拓展validator验证

    laravel拓展validator验证

    2021年10月26日
    51

发表回复

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

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