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


相关推荐

  • ubuntu用 vmware 安装win10系统

    ubuntu用 vmware 安装win10系统1,下载VMwareWorkstation14Pro官网:https://www.vmware.com/cn.html需要注册一下才能下载,当然你也可以在其他网站下载。需要下载VMwareWorkstation14.0.0ProforLinux这个版本,下载结束之后的文件是:VMware-Workstation-Full-14.0.0-6661328.x86_64.bu

    2022年6月18日
    26
  • 析构赋值

    析构赋值析构赋值让我们从 Object 或 Array 里取部分数据存为变量 对象 constuser name guanguan age 2 const name age user console log name age guanguan 2 数组 constarr 1 2 const foo

    2025年9月13日
    0
  • C# winform窗体程序的美化之路「建议收藏」

    C# winform窗体程序的美化之路「建议收藏」写在前面:今天帮同学做毕业设计一个简单的Windows窗体程序实现备忘录的效果,要求使用数据库,我想着很简单于是上手开始做,两天完成,于是同学拿去给老师检查,检查后老师认为不错功能实现完整。就是。。。界面太!丑!了!强迫症的我当然不能忍受于是今天学习一下c#winform窗体程序的美化(我也是新手,各位大佬请多多指教)。因为最近写的安卓程序中用了大量第三方开源框架,就想着c#会不会也有

    2022年5月28日
    42
  • idea在线生成激活码(注册激活)「建议收藏」

    (idea在线生成激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlECCD1ZV74P-eyJsaWNlbnNlSW…

    2022年3月31日
    1.9K
  • 反向传播(BPTT)与循环神经网络(RNN)文本预测

    反向传播(BPTT)与循环神经网络(RNN)文本预测反向传播(BPTT)与RNN文本预测实战本文介绍简单RecurrentNeuralNetworks(RNN)的基本训练算法BACKPROPAGATIONTHROUGHTIME(BPTT),并用python2.7实现RNN的文本预测。

    2022年6月23日
    25
  • LayUI树形表格treetable使用详解[通俗易懂]

    LayUI树形表格treetable使用详解[通俗易懂]LayUI是现在比较流行的一款前端框架,也有很多人基于LayUI开发了很多不错的组件,比如treetable树形表格。因为treetable是第三方基于LayUI开发的,所以需要先用Layui引入一下文件。layui.config({base:’static/layui/’}).extend({treetable:’treetable-lay/treetab…

    2022年6月13日
    567

发表回复

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

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