BZOJ 2502: 清理雪道 | 有上下界最小流
- #include<cstdio>
- #include<algorithm>
- #include<cstring>
- #include<queue>
- #define N 405
- #define INF 0x3f3f3f3f
- #define M 200005
- using namespace std;
- int head[N],cur[N],n,m,S,T,d[N],s,t,sum,ecnt=,lev[N],ans,dec;
- queue<int> q;
- struct adj
- {
- int nxt,v,w;
- }e[M];
- void add(int u,int v,int w)
- {
- e[++ecnt].v=v;e[ecnt].nxt=head[u];e[ecnt].w=w;head[u]=ecnt;
- e[++ecnt].v=u;e[ecnt].nxt=head[v];e[ecnt].w=;head[v]=ecnt;
- }
- bool bfs()
- {
- for (int i=;i<=T;i++)
- cur[i]=head[i],lev[i]=-;
- q.push(S);lev[S]=;
- while (!q.empty())
- {
- int u=q.front();q.pop();
- for (int i=head[u],v;i;i=e[i].nxt)
- if (lev[v=e[i].v]==- && e[i].w>)
- q.push(v),lev[v]=lev[u]+;
- }
- return lev[T]!=-;
- }
- int dfs(int u,int flow)
- {
- if (u==T) return flow;
- int ret=,v,delta;
- for (int &i=cur[u];i;i=e[i].nxt)
- if (lev[v=e[i].v]==lev[u]+ && e[i].w>)
- {
- delta=dfs(v,min(flow-ret,e[i].w));
- if (delta)
- {
- e[i].w-=delta;e[i^].w+=delta;ret+=delta;
- if (ret==flow) break;
- }
- }
- return ret;
- }
- int main()
- {
- scanf("%d",&n);
- s=n+;t=n+;S=t+;T=S+;add(t,s,INF);
- for (int i=,u,v;i<=n;i++)
- {
- scanf("%d",&u);
- while (u--)
- {
- scanf("%d",&v);
- add(i,v,INF-);
- d[i]--,d[v]++;
- }
- }
- for (int i=;i<=n;i++)
- add(s,i,INF),add(i,t,INF);
- for (int i=;i<=n;i++)
- if (d[i]>) add(S,i,d[i]);
- else if (d[i]<) add(i,T,-d[i]);
- while (bfs()) ans+=dfs(S,INF);
- for (int i=head[S];i;i=e[i].nxt) e[i].w=e[i^].w=;
- for (int i=head[T];i;i=e[i].nxt) e[i].w=e[i^].w=;
- sum=e[].w;e[].w=e[].w=;
- S=t;T=s;
- while (bfs()) dec+=dfs(S,INF);
- printf("%d\n",sum-dec);
- return ;
- }
BZOJ 2502: 清理雪道 | 有上下界最小流的更多相关文章
- Bzoj 2502: 清理雪道 有上下界网络流_最小流
好长时间没有写网络流了,感觉好手生.对于本题,设一个源点 $s$ 和 $t$.1.由 $s$ 向每个点连一条没有下界,容量为无限大的边,表示以该点为起点.2.由每个点向 $t$ 连一条没有下界,容量为 ...
- BZOJ2502:清理雪道(有上下界最小流)
Description 滑雪场坐落在FJ省西北部的若干座山上. 从空中鸟瞰,滑雪场可以看作一个有向无环图,每条弧代表一个斜坡(即雪道),弧的方向代表斜坡下降的方向. 你的团队负责每周定时 ...
- 【bzoj2502】清理雪道 有上下界最小流
题目描述 滑雪场坐落在FJ省西北部的若干座山上. 从空中鸟瞰,滑雪场可以看作一个有向无环图,每条弧代表一个斜坡(即雪道),弧的方向代表斜坡下降的方向. 你的团队负责每周定时清理雪道.你们拥有一架直升飞 ...
- BZOJ 2502 清理雪道(有源汇上下界最小流)
题面 滑雪场坐落在FJ省西北部的若干座山上. 从空中鸟瞰,滑雪场可以看作一个有向无环图,每条弧代表一个斜坡(即雪道),弧的方向代表斜坡下降的方向. 你的团队负责每周定时清理雪道.你们拥有一架直升飞机, ...
- BZOJ 2502 清理雪道/ Luogu P4843 清理雪道 (有源汇上下界最小流)
题意 有一个有向无环图,求最少的路径条数覆盖所有的边 分析 有源汇上下界最小流板题,直接放代码了,不会的看dalao博客:liu_runda 有点长,讲的很好,静心看一定能看懂 CODE #inclu ...
- BZOJ_2502_清理雪道_有源汇上下界最小流
BZOJ_2502_清理雪道_有源汇上下界最小流 Description 滑雪场坐落在FJ省西北部的若干座山上. 从空中鸟瞰,滑雪场可以看作一个有向无环图,每条弧代表一个斜坡(即雪道), ...
- BZOJ 2502: 清理雪道
BZOJ 2502: 清理雪道 标签(空格分隔): OI-BZOJ OI-最小流 OI-上下界网络流 Time Limit: 10 Sec Memory Limit: 128 MB Descripti ...
- BZOJ 1458 / Luogu P4311 士兵占领 (上下界最小流 / 直接最大流)
做法1:上下界最小流 先来一发上下界最小流,思路比较暴力,就是把行和列看作n+mn+mn+m个点,(i,j)(i,j)(i,j)如果能占领就从第iii行向第jjj列连一条边,上界为1下界为0;然后从s ...
- P4843 清理雪道(上下界网络流)
P4843 清理雪道 上下界最小流 我们先搞一遍上下界可行流(转) 回忆上下界最大流的写法:在可行流的残量网络$s\ -\ t$上跑最大流,答案为可行流$+$残量网络的最大流 那么上下界最小流的写法呢 ...
随机推荐
- 网站安全检测 漏洞检测 对thinkphp通杀漏洞利用与修复建议
thinkphp在国内来说,很多站长以及平台都在使用这套开源的系统来建站,为什么会这么深受大家的喜欢,第一开源,便捷,高效,生成静态化html,第二框架性的易于开发php架构,很多第三方的插件以及第三 ...
- Jupyter Notebook里面使用Matplotlib画图 图表中文乱码问题
可查看以下链接: https://blog.csdn.net/ccblogger/article/details/79613335
- 牛客暑假多校第六场I-Team Rocket
一.题意 我们是穿越银河的火箭队....... 给出若干个区间,之后给出若干个点,要求对每个点求出,第一个覆盖点的区间的数量,之后用当前所有点覆盖的区间的序号的乘积结合输入的Y来生成下一位点.最后输出 ...
- 41-Individual authentication 模板
1-创建项目,进入vscode控制台,输出如下命令, uld表示指定mssqllocaldb E:\coding\netcore>dotnet new mvc -au Individual -u ...
- Druid单机环境安装指南
1.下载单机环境必备工具 下载druid-0.10.1-bin.tar.gz和tranquility-distribution-0.8.2.tgz插件 http://druid.io/download ...
- JavaScript---设计模式简介
概念 设计模式(Design pattern)是一套被反复使用.思想成熟.经过分类和无数次实战设计经验的总结的.使用设计模式是为了让系统代码可重用.可扩展.可解耦.更容易被人理解且能保证代码的可靠性. ...
- golang log
自带log模块 写入文件 package main import ( "fmt" "log" "os" ) func main(){ log ...
- 云计算之路-阿里云上:奇怪的CPU 100%问题
这篇博文记录一下6月1日在阿里云上遇到的奇怪的CPU 100%问题,希望多年以后能真相大白. 那天负载均衡(SLB)中只放了1台云服务器(平时都放2台),由于是节假日,虽然只放了一台,但这台服务器的负 ...
- VS2013生产过程问题及解决
TRK0002错误 现象:编译器.链接器交替报错,不能正常生成 环境:Win8.1 + VS2013 + 百度杀毒 解决:退出百度杀毒,重启VS,再进行生成 修订:发现问题依旧,经过多次试验,发现与杀 ...
- Android OpenStreetMap(OSM) 使用 osmbonuspack 进行导航
关于OpenStreetMap的介绍,国内还是很少,csdn上面有一篇,写的不错,我也就不再做重复的事情了. 这里贴出链接地址:http://blog.csdn.net/mad1989/article ...