博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LA 3415 保守的老师
阅读量:6913 次
发布时间:2019-06-27

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

题目链接:

题意:

有一些同学,要从中选出一些同学来,人数尽量多,但是,两两之间要满足至少一个条件(身高差>40,性别相同,。。。)

分析:

最大独立集:尽量选择多的结点,任意两个结点不相邻;

男同学X,女同学Y,如果可能产生关系,连一条边,这样这两个人就不会在一起;

 

最大独立集=n-最大匹配

证明:

最小点覆盖 = 对于每一条边,至少有一个点要被选中

最大独立集 = 对于每一条边,最多一个点被选中

从定义中可以看出,这两个是互补的;

1 #include 
2 3 using namespace std; 4 5 const int maxn = 500+5; 6 7 struct BPM { 8 int n,m; 9 vector
G[maxn];10 int left[maxn];11 bool T[maxn];12 13 int right[maxn];14 bool S[maxn];15 16 void init(int n,int m) {17 this->n = n;18 this->m = m;19 for(int i=0;i
>t;72 while(t--) {73 int n;74 cin>>n;75 vector
male,female;76 for(int i=0;i
>h>>gender>>music>>sport;80 if(gender[0]=='M') male.push_back(Student(h,music,sport));81 else female.push_back(Student(h,music,sport));82 }83 int x = male.size();84 int y = female.size();85 sol.init(x,y);86 for(int i=0;i
View Code

 

转载于:https://www.cnblogs.com/TreeDream/p/6804040.html

你可能感兴趣的文章
用扩展开发一个PHP类
查看>>
使用Netty3或Netty4发布Http协议服务
查看>>
2011 聪明的质监员
查看>>
Redis之Set命令
查看>>
构建之法阅读笔记二。
查看>>
梦断代码阅读笔记一。
查看>>
【python】-- 多进程的基本语法 、进程间数据交互与共享、进程锁和进程池的使用...
查看>>
linux虚拟机使用VMware的NAT共享windows主机IP上网 [转]
查看>>
Rabbitmq编程
查看>>
C++虚函数
查看>>
Android记住密码后自动登录
查看>>
python 訪问webservice
查看>>
CSDN开源夏令营 百度数据可视化实践 ECharts(4)
查看>>
SVN 初试
查看>>
安装edX DevStack
查看>>
避开Unity的坑
查看>>
微软Windows Phone今日正式面向中国市场发布
查看>>
bzoj1112 [POI2008]砖块Klo
查看>>
235D Graph Game
查看>>
csu 1984: LXX的能力值
查看>>