传送门1
传送门2
写在前面:困啊困╯﹏╰
思路:建立中转站的点和用户群的点,s连中转站,流量为其建立成本,用户群点连t,流量为其获利,中转站与其对应的用户群连流量为inf的边,直接跑最大流就可以了
注意:无

#include<bits/stdc++.h>
#define inf 0x7fffff
using namespace std;
int n,m,s,t,tot=1,ans;
int first[55010],dis[55010],cur[55010];
struct edge
{int u,v,w,next;
}e[320000];
queue<int>q;
int in()
{int t=0;char ch=getchar();while (!isdigit(ch)) ch=getchar();while (isdigit(ch)) t=(t<<3)+(t<<1)+ch-48,ch=getchar();return t;
}
void add(int x,int y,int z) {e[++tot]=(edge){x,y,z,first[x]};first[x]=tot;}
bool bfs()
{memset(dis,0,sizeof(dis));q.push(s);dis[s]=1;while (!q.empty()){int k=q.front();q.pop();for (int i=first[k];i;i=e[i].next)if (e[i].w&&!dis[e[i].v])q.push(e[i].v),dis[e[i].v]=dis[k]+1;}if (dis[t])for (int i=s;i<=t;i++) cur[i]=first[i];return dis[t];
}
int dfs(int x,int maxn)
{if (x==t) return maxn;int used=0;for(int i=cur[x];i;i=e[i].next)if (dis[e[i].v]==dis[x]+1){int k=dfs(e[i].v,min(maxn-used,e[i].w));e[i].w-=k;e[i^1].w+=k;if (e[i].w) cur[x]=i;used+=k;if (used==maxn) return maxn;}if (!used) dis[x]=0;return used;
}
main()
{n=in();m=in();t=n+m+1;int x,y,z;for (int i=1;i<=n;i++) add(s,i,in()),add(i,s,0);for (int i=1;i<=m;i++)x=in(),y=in(),z=in(),ans+=z,add(x,i+n,inf),add(i+n,x,0),add(y,i+n,inf),add(i+n,y,0),add(i+n,t,z),add(t,i+n,0);while (bfs()) ans-=dfs(s,inf);printf("%d",ans);
}

【BZOJ1497】【codevs1789】最大获利,网络流之最大权闭合子图相关推荐

  1. #1398 : 网络流五·最大权闭合子图

    题目链接 结论 最大权闭合子图的权值 === 所有正权点之和−-−最小割 简单割(或最小割)将有向图分成两类,与源点sss相连的称为SSS,与汇点ttt相连的称为TTT 割的流量===与sss相连的正 ...

  2. 【BZOJ3158】千钧一发,网络流之最大权闭合子图

    传送门 写在前面:学弟好可怕 思路: 有一个引理,如果x,y,z互质且x^2+y^2=z^2,那么x,y必定一奇一偶.(详见百度百科) 有了这个就好办了,把特征值a[i]分成奇数偶数两部分,s连奇数, ...

  3. 【BZOJ】1497: [NOI2006]最大获利 最大权闭合子图或最小割

    [题意]给定n个点,点权为pi.m条边,边权为ci.选择一个点集的收益是在[点集中的边权和]-[点集点权和],求最大获利.n<=5000,m<=50000,0<=ci,pi<= ...

  4. 网络流24题之太空飞行计划——最大权闭合子图

    题目链接:太空飞行计划 [网络流24题] 太空飞行计划 ★★☆ 输入文件:shuttle.in 输出文件:shuttle.out 简单对比 时间限制:1 s 内存限制:128 MB [问题描述] W ...

  5. Cogs 727. [网络流24题] 太空飞行计划(最大权闭合子图)

    [网络流24题] 太空飞行计划 ★★☆ 输入文件:shuttle.in 输出文件:shuttle.out 简单对比 时间限制:1 s 内存限制:128 MB [问题描述] W 教授正在为国家航天中心计 ...

  6. hihocoder1398 网络流五之最大权闭合子图

    最大权闭合子图 虽然我自己现在总结不好最大权闭合子图.但也算稍稍理解辣. 网络流起步ing~~~(- ̄▽ ̄)- #include<iostream> #include<cstdio& ...

  7. 【bzoj1565】[NOI2009]植物大战僵尸 【网络流】【最大权闭合子图】

    题解:可以看出每个格子有一些前驱,只有前驱都被消灭了才能走到这里.因为要求最大的权值和,所以我们可以用最大权闭合子图来求解这题.最大权闭合子图点这里! 然后让蒟蒻讲一讲自己掉的坑. 首先,根据WYC大 ...

  8. PowerOJ 1737 网络流24题之二 太空飞行计划问题(最大权闭合子图)

    PowerOJ 1737 网络流24题之二 太空飞行计划问题 原题地址: https://www.oj.swust.edu.cn/problem/show/1737 题意: W 教授正在为国家航天中心 ...

  9. 洛谷 p4174 [noi2006] 最大获利 最小割(最大流),最大权闭合子图

    题目 题解 题目 洛谷 p4174 建站花费p[i]元,如果a,b两个站都建起来了获利c元,问最大的获利. 题解 首先需要理解最大流求最大权闭合子图,这个我也不说了,又是转载博客. https://b ...

最新文章

  1. cookie和session的代码实现
  2. Quaternion.identity是什么意思?
  3. MySQL知识梳理与命令操作
  4. 伟大的密码胜于利剑——RSA2012成都站掠影
  5. 电脑开机出现C:\Windows\System32\drivers\fs_rec.sys
  6. Python 函数式编程
  7. delphi XE 學習筆記二:TThread.CreateAnonymousThread
  8. 逐步优化求解最大子序列和
  9. Particle Filter Tutorial 粒子滤波:从推导到应用(三)
  10. Layui的轮播事件和echarts插件事件
  11. 阅读verilog程序总结
  12. Oracle 项目就是那回事 ----表空间的管理
  13. [网络流24题-9]试题库问题
  14. 不要争了!技术选择没那么重要
  15. 微信支付之获取code
  16. LaTeX 下载和安装
  17. LARS算法---十折交叉验证
  18. java实现商品的分类_Spring 商品分类
  19. 2021-05-22
  20. 安卓框架访问QQ文件的路径miui13

热门文章

  1. RDS关系型数据库 入门 01 创建关系型数据库实例【华为云分享】
  2. 西瓜哥:公有云也“All-Flash”?
  3. 消息队列属性及常见消息队列介绍
  4. 红橙Darren视频笔记 Activity启动流程(API28)
  5. 设计模式笔记二十二:空对象模式
  6. gprMax 3.1.5 安装以及在pycharm或VScode中运行的方法
  7. 深度学习标注工具LabelImg的使用方法
  8. ios 重复引用 静态库_iOS项目引用静态库文件.a
  9. 交换两个变量的值,不使用第三个变量的四种法方法
  10. 在微型计算机控制系统中常用的报警方式中,微机控制技术复习题