BZOJ2768: [JLOI2010]冠军调查
题目大意:题面讲的这么清晰明白
具体思路:最小割:
建立超级源汇点,希望切尔西赢的从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]冠军调查相关推荐
- 【BZOJ2768】[JLOI2010]冠军调查/【BZOJ1934】[Shoi2007]Vote 善意的投票 最小割
[BZOJ2768][JLOI2010]冠军调查 Description 一年一度的欧洲足球冠军联赛已经进入了淘汰赛阶段.随着卫冕冠军巴萨罗那的淘汰,英超劲旅切尔西成为了头号热门.新浪体育最近在吉林教 ...
- 洛谷 - P2057 [SHOI2007]善意的投票 / [JLOI2010]冠军调查(最大流最小割)
题目链接:点击查看 题目大意:有 n 个人,每个人都有两种意见,且有许多朋友,需要让朋友之间的意见尽可能统一,问最少有多少冲突 题目分析:因为每个人有两种意见,所以分别将其与源点和汇点相连,因为最后可 ...
- BZOJ 2768 [JLOI2010]冠军调查
还说还剩十分钟A一道水题,然后发现和善意的投票一模一样粘个代码过去直接A... 装作自己又写了一道题. 题面 //Twenty #include<cstdio> #include<c ...
- 【BZOJ2768】冠军调查,网络流之最小割
Time:2016.07.19 Author:xiaoyimi 转载注明出处谢谢 传送门 思路: 按照赞成与反对组成二分图 分别向s,t连边,流量为1 意见不同的朋友连边,流量为1 跑出的最大流即为答 ...
- P2057 [SHOI2007]善意的投票 (最大流最小割)
P2057 [SHOI2007]善意的投票 / [JLOI2010]冠军调查 最小割,两种意见可以看作源点S和T,我们需要做的是割最少的边使得S和T成为两个不同的集合,解释:割掉的边相当于1次冲突(因 ...
- Go远超Python,机器学习人才极度稀缺,全球16,655位程序员告诉你这些真相
作者 | 唐小引 题图 | HackerEarth 报告 出品 | AI科技大本营(ID:rgznai100) Go 正变得越来越受开发者欢迎. 几年前,滴滴的工程师曾告诉我,在滴滴 Go 已经得到了 ...
- MAML-Tracker:用目标检测思路做目标跟踪?小样本即可得高准确率丨CVPR 2020
来源 | 微软研究院AI头条(ID: MSRAsia) 编者按:目标检测与目标跟踪这两个任务有着密切的联系.针对目标跟踪任务,微软亚洲研究院提出了一种通过目标检测技术来解决的新视角,采用简洁.统一而高 ...
- 深度学习基础总结,无一句废话(附完整思维导图)
作者 | Python与算法社区 责编 | Carol 封图 | CSDN 付费下载于自视觉中国 线型回归 预测气温.预测销售额.预测商品价格等 模型:权重,偏差 模型训练:feed 数据学习模型参数 ...
- 成为计算机视觉工程师的第一个月,我都学会了什么?
作者 | Richmond Alake 译者 | 弯月 题图 | 自视觉中国 出品 | AI科技大本营(ID:rgznai100) 我写这篇文章的目的是为了向那些没有接触过机器学习行业的人们介绍一下我 ...
- 美翻朋友圈:用Python生成蒙太奇马赛克图片
题图 | 视觉中国 来源 | ZackSock(ID:ZackSock) 我们有时候会听到这么一个词--"蒙太奇",但却不知道这个词是什么意思.蒙太奇原为建筑学术语,意为构成.装配 ...
最新文章
- 细嚼慢咽读论文:PointNet论文及代码详细解析
- 使用babel编译es6
- 动态规划训练14 [Max Sum Plus Plus HDU - 1024 ]
- 右击菜单一键优化(增加新建office2003、新建reg和bat,删除新建公文包、新建wps、新建rar)...
- TensorFlow中查看checkpoint文件中的变量名和对应值
- MVC系列-7.更新
- 1月20日到期的5.2万美元比特币期权数量超1万份
- python从入门到放弃百度云-Python从入门到放弃——第一课
- Emacs进阶之选择当前word/line
- CRMEB二次开发基础接口
- python--RGB转HSV
- 成分句法分析与依存句法分析
- 群晖NAS用户和用户组权限讲解
- linux 挂接磁盘阵列,Linux下磁盘分区挂载和磁盘阵列
- 艾美捷抗人IL-8 (CXCL8)单抗MT8F19说明书
- 大厂程序员必备的一套浏览器书签,我帮你整理好了。[下载导入浏览器]
- 阿里云备案一般要多久时间?快速通过阿里云APP进行域名备案方法
- Traffic Manager
- 【基础教程】Python整数类型(int)详解
- Python实现ARCGIS栅格计算器con函数功能
热门文章
- 区块链 solidity 快排
- python调用shell命令 批量执行python程序
- kubernetes视频教程笔记 (9)-资源清单yaml是什么 yaml的格式语法
- android解析json数据 no value for message_Hive使用lateral view和explode处理嵌套json
- 第九章(二)DAG上的动态规划
- 第七章 (一)暴力求解法
- js Date 日期函数
- Spring MVC @ExceptionHandler、@ControllerAdvice、@RestControllerAdvice 统一异常处理
- min-width_min-height_max-width_max-height 设置元素最小或最大长度
- 评论字数限制php,WordPress评论字数限制