• 题目
  • 题解

题目

洛谷 p4174
建站花费p[i]元,如果a,b两个站都建起来了获利c元,问最大的获利.

题解

首先需要理解最大流求最大权闭合子图,这个我也不说了,又是转载博客.
https://blog.csdn.net/can919/article/details/77603353
然后考虑题目,每一个获利 c c c是相当于正权点,每一个成本p" role="presentation" style="position: relative;">ppp相当于负权点.
从源点 s s s向每一个用户连流量为c" role="presentation" style="position: relative;">ccc的边,每一个站向汇点 t t t连流量为p" role="presentation" style="position: relative;">ppp的边.
至于每一个用户呢,从他向他需要的两个站建流量为 inf i n f inf的边(无关).
然后用正权之和减去最小割即可.
谢谢大家.

#include<bits/stdc++.h> //Ithea Myse Valgulious
namespace chtholly{
typedef long long ll;
#define re0 register int
#define rec register char
#define rel register ll
#define gc getchar
#define pc putchar
#define p32 pc(' ')
#define pl puts("")
/*By Citrus*/
inline int read(){int x=0,f=1;char c=gc();for (;!isdigit(c);c=gc()) f^=c=='-';for (;isdigit(c);c=gc()) x=(x<<3)+(x<<1)+(c^'0');return f?x:-x;}
template <typename mitsuha>
inline bool read(mitsuha &x){x=0;int f=1;char c=gc();for (;!isdigit(c)&&~c;c=gc()) f^=c=='-';if (!~c) return 0;for (;isdigit(c);c=gc()) x=(x<<3)+(x<<1)+(c^'0');return x=f?x:-x,1;}
template <typename mitsuha>
inline int write(mitsuha x){if (!x) return 0&pc(48);if (x<0) x=-x,pc('-');int bit[20],i,p=0;for (;x;x/=10) bit[++p]=x%10;for (i=p;i;--i) pc(bit[i]+48);return 0;}
inline char fuhao(){char c=gc();for (;isspace(c);c=gc());return c;}
}using namespace chtholly;
using namespace std;
const int yuzu=5e5,inf=0x3f3f3f3f;
typedef int fuko[yuzu|10];
int n,m,s,t,cnt;
namespace maxflow{
fuko head,cur,dep;
struct edge{int to,next,f;}e[yuzu|10];void add(int u,int v,int f){
e[cnt]=edge{v,head[u],f},head[u]=cnt++;
e[cnt]=edge{u,head[v],0},head[v]=cnt++;
}int bfs(){
queue<int> q;
memset(dep,-1,sizeof dep);
dep[s]=0,q.push(s);
for (;!q.empty();){int i,u=q.front();q.pop();for (i=head[u];~i;i=e[i].next){int v=e[i].to;if (!~dep[v]&&e[i].f){dep[v]=dep[u]+1;q.push(v);}}}return ~dep[t];
}int dfs(int u,int flow){
if (u==t||!flow) return flow;
int tflow=0;
for (int &i=cur[u];~i;i=e[i].next){int v=e[i].to;if (dep[v]==dep[u]+1&&e[i].f){int nf=dfs(v,min(e[i].f,flow));e[i].f-=nf,e[i^1].f+=nf;tflow+=nf,flow-=nf;if (!flow) break;}}return tflow;
}int dinic(){
int ans=0,i;
for (;bfs();ans+=dfs(s,inf)) memcpy(cur,head,sizeof head);
return ans;
}int main(){int i,j;n=read(),m=read();s=0,t=n+m+1;memset(head,-1,sizeof head);for (i=1;i<=n;++i) add(s,i,read());int sum=0;for (i=n+1;i<=n+m;++i){int u=read(),v=read(),c=read();add(i,t,c),sum+=c;add(u,i,inf),add(v,i,inf);}write(sum-dinic());}
}int main(){
maxflow::main();
}

洛谷 p4174 [noi2006] 最大获利 最小割(最大流),最大权闭合子图相关推荐

  1. [洛谷P4174][NOI2006]最大获利

    题目大意:同Petya and Graph,数据范围改成$n\leqslant5\times10^3,m\leqslant5\times10^4$ 题解:同上 卡点:无 C++ Code: #incl ...

  2. 洛谷 - P1251 餐巾计划问题(最小费用最大流+思维建边)

    题目链接:点击查看 题目大意:给出n天每天所需要的新餐巾的数量,现在有多种方式可以获得新餐巾,问如何运营能使花费最少: 直接购买,花费为cost 将脏餐巾送到快洗部,需要洗t1天,花费为c1 将脏餐巾 ...

  3. 洛谷 - P4016 负载平衡问题(最小费用最大流)

    题目链接:点击查看 题目大意:有n个仓库分布在一个环形的区域,现在每个仓库可以与相邻的两个仓库转移货物,问最少需要操作多少次才能让每个仓库的货物都达到平衡 题目分析:达到平衡的意思其实就是都等于平均值 ...

  4. 洛谷 P2053 [SCOI2007]修车 网络流 最小费用最大流 Dinic+Spfa

    题目链接: https://www.luogu.com.cn/problem/P2053 思路参考博客: https://www.luogu.com.cn/blog/a23333/solution-p ...

  5. hdu 3879(最小割模型求解最大权闭合图)

    题意: 公司得到了一共N个可以作为通讯信号中转站的地址,而由于这些地址的地理位置差异,在不同的地方建造通讯中转站需要投入的成本也是不一样的,所幸在前期调查之后这些都是已知数据:建立第i个通讯中转站需要 ...

  6. 洛谷 P3381 【模板】最小费用最大流

    题目描述 如题,给出一个网络图,以及其源点和汇点,每条边已知其最大流量和单位流量费用,求出其网络最大流和在最大流情况下的最小费用. 输入输出格式 输入格式: 第一行包含四个正整数\(N.M.S.T\) ...

  7. 洛谷 3381 【模板】最小费用最大流

    https://www.luogu.org/problem/show?pid=3381 题目描述 如题,给出一个网络图,以及其源点和汇点,每条边已知其最大流量和单位流量费用,求出其网络最大流和在最大流 ...

  8. 洛谷 - P3980 [NOI2008]志愿者招募(最小费用最大流+思维建边)

    题目链接:点击查看 题目大意:现在有n天需要志愿者,每一天需要招募的人数是Ai个人,现在有m类志愿者,每类志愿者可以在[l,r]天内被招募,需要花费的代价为Ci,现在需要安排一种招募方式,可以使得总花 ...

  9. 洛谷P3381 【模板】最小费用最大流

    传送门 费用流板子 细节真多--一个边的flow和点的flow分不清--还有往回减流的时候应该减去flow[t]-- 1 //minamoto 2 #include<iostream> 3 ...

最新文章

  1. 2022-2028年中国量子点膜行业市场调查分析及未来前景分析报告
  2. [微信小程序]滚动选择器
  3. 只因路由器密码太弱,IP被黑客利用发虐童图片,无辜夫妇:我们甚至想自杀...
  4. MySQL基本命令 (二)
  5. 20165306 我期望的师生关系
  6. 记录合规性–关于TCK,规格和测试
  7. C#阻止计算机关闭显示器和待机
  8. php查看mysql最近执行过的sql_PHP获取MySQL执行sql语句的查询时间
  9. 2021-2025年中国电动多用途越野车(UTV)行业市场供需与战略研究报告
  10. 【Science】颠覆三观的超强聚类算法
  11. 常用公差配合表图_车间里常用的机械测量工具竟然这么多?涨知识
  12. HP ProOne G2 20-in 一体机开后盖换电池记事
  13. CS架构客户端软件升级方案
  14. mysql 浏览量统计_统计网站的每日访问量
  15. node 脚手架项目,快速删除 node_modules 包的 rimraf 命令
  16. Ps素描效果引用说明
  17. 于皓月繁星下翩翩起舞
  18. 容器编排的作用和要实现的内容
  19. 计算机二级oracle,关于计算机考试
  20. 新能源汽车行业资讯-2022-9-17

热门文章

  1. virtualbox 6.1.34 使用usb
  2. linux自带spi驱动 ,可自己配置CS
  3. Ubuntu挂载iso为apt源
  4. 各种手机测试卡,sim卡,藕合测试白卡,链接仪器的测试卡的介绍
  5. 为什么windows鼠标一卡一卡
  6. 安装Visio时的问题
  7. 面经|兴盛优选数据分析二面
  8. 逻辑推理—乒乓球问题
  9. 98% after emitting CopyPlugin vueCli 卡住错误解决
  10. 【OA】致远oa预写字段数值异常