博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1466 Girls and Boys (ZOJ 1137 )最大独立点集
阅读量:5273 次
发布时间:2019-06-14

本文共 777 字,大约阅读时间需要 2 分钟。

题目大意:

n个学生,他们中有的有关系,有的没有关系,求最多可以取出几个人,使得他们之间没有关系。

思路:

复制别人的。。。。。

最大独立集问题:在N个点的图G中选出m个点,使这m个点两两之间没有边.求m最大值.如果图G满足二分图条件,则可以用二分图匹配来做.最大独立集点数 = N - 最大匹配数/2,然后就是匈牙利算法实现了。

#include
#include
const int MAXN=500+10;int res[MAXN],head[MAXN],len;bool vis[MAXN];struct edge{ int to,next;}e[MAXN*MAXN];void add(int from,int to){ e[len].to=to; e[len].next=head[from]; head[from]=len++;}bool find(int a){ for(int i=head[a];i!=-1;i=e[i].next) { int id=e[i].to; if(!vis[id]) { vis[id]=true; if(res[id]==0 || find(res[id]) ) { res[id]=a; return true; } } } return false;}int main(){ int n; while(~scanf("%d",&n)) { memset(res,0,sizeof(res)); memset(head,-1,sizeof(head)); len=0; for(int i=0;i

转载于:https://www.cnblogs.com/murmured/p/5004080.html

你可能感兴趣的文章
【洛谷 2430】严酷的训练
查看>>
hadoop 使用java操作hdfs
查看>>
中年男人 中年女人 中年人
查看>>
GoFramework框架简介(三)通信机制篇
查看>>
python全栈学习--day31(正则)
查看>>
h.264语法结构分析
查看>>
基督-神[上帝]的道,真理的本真归回
查看>>
https请求抛出异常
查看>>
chrome浏览器更换favicon.ico后不更新缓存解决方案
查看>>
面试试题 一 (排列组合)
查看>>
CString转char*实现方法
查看>>
Go直接调用C函数
查看>>
Mac 系统环境变量配置
查看>>
《你的灯亮着吗?:发现问题的真正所在》读书笔记2
查看>>
Winform开发框架之权限管理系统功能介绍
查看>>
从C#到Objective-C,循序渐进学习苹果开发(1)--准备开发账号和开发环境
查看>>
视图的定义、更新、撤销
查看>>
iOS之页面传值-----单例传值、通知传值
查看>>
数组换位子
查看>>
软件测试草图
查看>>