网址:http://codevs.cn/problem/2776/

题目大意: n个社团,m个人,每个社团可以有一个人担任代表,每个人可以担任多个代表,问最多有多少人是代表。

思路:可以建一个图,然后最大流(废话)。怎么建图?

先膜下神犇 orz QZZ。

样例的图大概是这样的:

图丑就不要在意啦。

s为源点,t为汇点

图中可以看出n个社团与s建一条流量为 1 的边(每个社团只选一个代表,1为限制条件),然后按照读入数据与每个人建一条流量为 1 的边(社团选了这个人就不能选了),最后每个人和t建一条流量为 1 的边。

 接着最大流。
代码:
     pascal:

 var dis:array[..]of longint;
flow:array[..,..]of longint;
q:array[..]of longint;
head,tail:longint;
n,m,x,p,z:longint;
i,j:longint;
ans:int64;
procedure bfs;//bfs 分层图
var i:longint;
now:longint;
begin
for i:= to p do
dis[i]:=-;
dis[]:=;
head:=;
tail:=;
q[]:=;
while head<=tail do
begin
now:=q[head];
for i:= to p do
if (flow[now,i]>)and(dis[i]<) then
begin
inc(tail);
q[tail]:=i;
dis[i]:=dis[now]+;
end;
inc(head);
end;
end; function dfs(x,mx:longint):longint;//dfs最小流
var k,i:longint;
begin
if x=p then exit(mx);
for i:= to p do
if (flow[x,i]>)and(dis[i]=dis[x]+) then
begin
if flow[x,i]>mx then k:=dfs(i,mx) else k:=dfs(i,flow[x,i]);
flow[x,i]:=flow[x,i]-k;
flow[i,x]:=flow[i,x]+k;
if k> then exit(k);
end;
exit();
end; begin
read(n,m);
p:=n+m+;//p为总节点数 0 为源点s p 为汇点t
for i:= to n do
begin
x:=;
while x<> do
begin
read(x);
if x<> then flow[i,x+n]:=;//建社团与人数的边,因为不能编号相同,所以 1~n 为社团 n+1~n+m 为人
end;
flow[,i]:=;//建s与社团的边
end;
for i:= to m do
flow[n+i,p]:=;//建人与t的边 i还是要加n 才是人的编号
while true do //最大流
begin
bfs;
if dis[p]< then break;
repeat
z:=dfs(,maxint);
ans:=ans+z;
until z>;
end;
writeln(ans);
end.

C++:

还是没代码,有时间补上。

望原谅。

最大流主要还是建图。然后蒟蒻我又水了一篇博客。

codevs.cn 2776寻找代表元 最大流解法的更多相关文章

  1. 【codevs】2776寻找代表元

    题目描述 Description 广州二中苏元实验学校一共有n个社团,分别用1到n编号.广州二中苏元实验学校一共有m个人,分别用1到m编号.每个人可以参加一个或多个社团,也可以不参加任何社团.每个社团 ...

  2. 匈牙利算法 codevs 2776 寻找代表元

    codevs 2776 寻找代表元  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold 题目描述 Description 广州二中苏元实验学校一共有n个社团,分别用 ...

  3. Codevs 2776 寻找代表元(二分图匹配)

    2776 寻找代表元 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 黄金 Gold 题目描述 Description 广州二中苏元实验学校一共有n个社团,分别用1到n编号. 广州二 ...

  4. codevs 2776 寻找代表元

     时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold     题目描述 Description 广州二中苏元实验学校一共有n个社团,分别用1到n编号.广州二中苏元实验 ...

  5. 【二分图】【最大匹配】【匈牙利算法】CODEVS 2776 寻找代表元

    裸的匈牙利,存模板. #include<cstdio> #include<vector> #include<cstring> using namespace std ...

  6. Codevs2776 寻找代表元

    2776 寻找代表元 时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold    题目描述 Description 广州二中苏元实验学校一共有n个社团,分别用1到n编号 ...

  7. CJOJ 1943 【重庆八中模拟赛】寻找代表元(二分图最大匹配)

    CJOJ 1943 [重庆八中模拟赛]寻找代表元(二分图最大匹配) Description 八中一共有n个社团,分别用1到n编号. 八中一共有m个人,分别用1到m编号.每个人可以参加一个或多个社团,也 ...

  8. RQNOJ PID141 / 寻找代表元 [2017年6月计划 二分图01]

    PID141 / 寻找代表元 ☆ 提交你的代码 查看讨论和题解 1分前 我的状态 已通过 2017-06-28 21:03:46 运行耗时:31 ms 运行内存:28048 KB 查看最后一次评测记录 ...

  9. 寻找代表元(codevs 2776)

    题目描述 Description 广州二中苏元实验学校一共有n个社团,分别用1到n编号.广州二中苏元实验学校一共有m个人,分别用1到m编号.每个人可以参加一个或多个社团,也可以不参加任何社团.每个社团 ...

随机推荐

  1. C++ 分割字符串两种方法

    原文地址:http://blog.csdn.net/xjw532881071/article/details/49154911 字符串切割的使用频率还是挺高的,string本身没有提供切割的方法,但可 ...

  2. iOS 7.1 UITapGestureRecognizer 不好用的解决办法

    UITapGestureRecognizer *tap3 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(o ...

  3. jQuery选择器概览

    层级 ancestor descendant parent > child prev + next prev ~ siblings 基本筛选器 :first :not(selector) :ev ...

  4. SpringBoot专题1----springboot与mybatis的完美融合

    springboot大家都知道了,搭建一个spring框架只需要秒秒钟.下面给大家介绍一下springboot与mybatis的完美融合: 首先:创建一个名为springboot-mybatis的ma ...

  5. .net时间格式与彻夜未眠的我

    夜已经很深了,外面的狂风还在呜呜的叫着,我的脚已经冰凉冰凉...从11点半到现在我一直在测试为什么正确的Json格式字符串传到服务器后还在报400错误... 尼玛啊,以前测试是没有问题的啊 事情是这样 ...

  6. pro_select_roleinfo_p3

    DELIMITER | drop procedure if exists pro_select_roleinfo_p3; CREATE PROCEDURE pro_select_roleinfo_p3 ...

  7. 名义人均GDP的背后,中国真实的人均GDP是1.2万美元!(中国GDP含金量较高)

    来源:天涯社区 根据IMF(国际货币基金组织)在今年4月的报告,2014年份中国人均GDP为7600美元,在185个国家当中排行第78位. 然而,根据楼主在国外行走多年的经验,巴西.墨西哥.马来西亚. ...

  8. SQL小练习

    1.现在有两张表订单表TB_ORDER,包括字段:order_id(订单号),username(用户名),amount(订单金额),order_time(下单时间), product_id(商品ID) ...

  9. caffe杂

    一.finetune命令: mpirun /home/zhangsuosheng/caffe_mpi/build/tools/caffe train -solver solver.prototxt - ...

  10. 我的Android进阶之旅------>关于使用CSDN-markdown编辑器来编写博客

    关于使用MarkDown编辑器的原因 什么是 Markdown 制作一份待办事宜 Todo 列表 书写一个质能守恒公式LaTeX 高亮一段代码code 高效绘制 流程图 高效绘制序列图 绘制表格 更详 ...