题目大意:题面讲的这么清晰明白

具体思路:最小割:

建立超级源汇点,希望切尔西赢的从S向它连容量为1的边,希望切尔西输的从它向T连容量为1的边。在朋友之间连一条双向边,答案就是最小割。
如果存在一条从S到T的路径,相当于产生了冲突。必须说谎(割掉到S或T的边)或者与朋友意见不统一(割掉和朋友的边)

AC代码

#include<bits/stdc++.h>
#define INF 100000000
using namespace std;
int n,m,i,j,S,T,top=1,x,y;
int a[200000],first[200000],cur[200000],last[200000],f[200000],next[200000],to[200000],cap[200000];
queue<int> q;
bool bo[200000];
void add(int x,int y,int z)
{top++,to[top]=y,cap[top]=z;if(first[x]==0)first[x]=top;else next[last[x]]=top;last[x]=top;
}
bool BFS()
{while(!q.empty())q.pop();for(i=1;i<=n+2;i++)f[i]=INF,bo[i]=false;f[S]=0;q.push(S);bo[S]=true;while(!q.empty()){int now=q.front();q.pop();bo[now]=false;for(int i=first[now];i;i=next[i])if(f[to[i]]>f[now]+1&&cap[i]){f[to[i]]=f[now]+1;if(!bo[to[i]])q.push(to[i]),bo[to[i]]=true;}}if(f[T]!=INF)return true;else return false;
}
int DFS(int now,int flow)
{if(flow==0)return 0;if(now==T)return flow;int tot=0;for(int i=cur[now];i;i=next[i],cur[now]=i)if(f[now]+1==f[to[i]]&&cap[i]&&flow){int del=DFS(to[i],min(flow,cap[i]));tot+=del;flow-=del,cap[i]-=del,cap[i^1]+=del;}return tot;
}
int main()
{scanf("%d%d",&n,&m);S=n+1,T=n+2;for(i=1;i<=n;i++){scanf("%d",&a[i]);if(a[i])add(S,i,1),add(i,S,0);else add(T,i,0),add(i,T,1);}for(i=1;i<=m;i++){scanf("%d%d",&x,&y);if(a[x]==a[y])add(x,y,1),add(y,x,1);else{if(a[x])add(x,y,1),add(y,x,0);else add(y,x,1),add(x,y,0);}}int ans=0;while(BFS()){for(i=1;i<=n+2;i++)cur[i]=first[i];ans+=DFS(S,INF);}printf("%d",ans);return 0;
}

转载于:https://www.cnblogs.com/Orange-User/p/8466197.html

BZOJ2768: [JLOI2010]冠军调查相关推荐

  1. 【BZOJ2768】[JLOI2010]冠军调查/【BZOJ1934】[Shoi2007]Vote 善意的投票 最小割

    [BZOJ2768][JLOI2010]冠军调查 Description 一年一度的欧洲足球冠军联赛已经进入了淘汰赛阶段.随着卫冕冠军巴萨罗那的淘汰,英超劲旅切尔西成为了头号热门.新浪体育最近在吉林教 ...

  2. 洛谷 - P2057 [SHOI2007]善意的投票 / [JLOI2010]冠军调查(最大流最小割)

    题目链接:点击查看 题目大意:有 n 个人,每个人都有两种意见,且有许多朋友,需要让朋友之间的意见尽可能统一,问最少有多少冲突 题目分析:因为每个人有两种意见,所以分别将其与源点和汇点相连,因为最后可 ...

  3. BZOJ 2768 [JLOI2010]冠军调查

    还说还剩十分钟A一道水题,然后发现和善意的投票一模一样粘个代码过去直接A... 装作自己又写了一道题. 题面 //Twenty #include<cstdio> #include<c ...

  4. 【BZOJ2768】冠军调查,网络流之最小割

    Time:2016.07.19 Author:xiaoyimi 转载注明出处谢谢 传送门 思路: 按照赞成与反对组成二分图 分别向s,t连边,流量为1 意见不同的朋友连边,流量为1 跑出的最大流即为答 ...

  5. P2057 [SHOI2007]善意的投票 (最大流最小割)

    P2057 [SHOI2007]善意的投票 / [JLOI2010]冠军调查 最小割,两种意见可以看作源点S和T,我们需要做的是割最少的边使得S和T成为两个不同的集合,解释:割掉的边相当于1次冲突(因 ...

  6. Go远超Python,机器学习人才极度稀缺,全球16,655位程序员告诉你这些真相

    作者 | 唐小引 题图 | HackerEarth 报告 出品 | AI科技大本营(ID:rgznai100) Go 正变得越来越受开发者欢迎. 几年前,滴滴的工程师曾告诉我,在滴滴 Go 已经得到了 ...

  7. MAML-Tracker:用目标检测思路做目标跟踪?小样本即可得高准确率丨CVPR 2020

    来源 | 微软研究院AI头条(ID: MSRAsia) 编者按:目标检测与目标跟踪这两个任务有着密切的联系.针对目标跟踪任务,微软亚洲研究院提出了一种通过目标检测技术来解决的新视角,采用简洁.统一而高 ...

  8. 深度学习基础总结,无一句废话(附完整思维导图)

    作者 | Python与算法社区 责编 | Carol 封图 | CSDN 付费下载于自视觉中国 线型回归 预测气温.预测销售额.预测商品价格等 模型:权重,偏差 模型训练:feed 数据学习模型参数 ...

  9. 成为计算机视觉工程师的第一个月,我都学会了什么?

    作者 | Richmond Alake 译者 | 弯月 题图 | 自视觉中国 出品 | AI科技大本营(ID:rgznai100) 我写这篇文章的目的是为了向那些没有接触过机器学习行业的人们介绍一下我 ...

  10. 美翻朋友圈:用Python生成蒙太奇马赛克图片

    题图 | 视觉中国 来源 | ZackSock(ID:ZackSock) 我们有时候会听到这么一个词--"蒙太奇",但却不知道这个词是什么意思.蒙太奇原为建筑学术语,意为构成.装配 ...

最新文章

  1. 【深度学习】(8) CNN中的通道注意力机制(SEnet、ECAnet),附Tensorflow完整代码
  2. 从源码分析DEARGUI之add_progress_bar
  3. oracle 错误2 启动服务提示找不到指定文件_Weblogic中间件创建文件权限问题解决...
  4. document.all 用法
  5. java中pack函数_java - Java函数pack(),JFrame大小 - 堆栈内存溢出
  6. click Edit button in Opportunity - why curr is displayed wrongly
  7. 基于VHDL自动售邮票机设计
  8. 微信小程序插件---表单验证篇
  9. Android开发笔记(一百七十九)避免方法数过多的问题
  10. Linux 系统结构详解
  11. vscode开发中绝对让你惊艳的插件!!!(个人在用) 持续更新。。。。
  12. ubuntu 18.04 安装caffe
  13. 移动端用户放大字体导致样式出问题
  14. python合并列表并按升序排序_程序合并间隔并在Python中按升序对其进行排序
  15. ev3和python哪个好_python+lego ev3的心得总结 随时更新
  16. Centos7安装Vastbase
  17. 技术科普丨逆光也清晰-HDR
  18. 汇编 端口 shl和shr指令
  19. 网站在线安全检测介绍
  20. IBM推Web操作系统eyeOS死磕Chrome OS

热门文章

  1. 2021-06-20 表单详解
  2. android把2变成02_【Android】学习札记第2章之数组二(Arrays工具类)
  3. 微信小程序云开发教程-WXSS入门-常用样式
  4. 磁盘位置_ORACLE RAC ASM磁盘组迁移到新的ASM磁盘组方法
  5. JavaSE基础——反射
  6. 基于springboot的高校(学生)评教系统
  7. 基于springboot+vue的智慧教室预约系统(前后端分离)
  8. 基于springboot的疫情网课教学平台
  9. asp.net电子影像相册_大连孕妈看过来 | 290元=孕中期四维排畸+孕妇写真+胎宝电子影集...
  10. java之Stream流