poj1459 Power Network

poj 1459 Power Network 【多源多汇最大流经典问题 dinic算法】 Power Network Time Limit: 2000MS   Memory Limit: 32768K Total Submissions: 24558   Accepted: 12814 Description A power network consists of nodes (power stations, consumers 阅读详情
Power Network
Time Limit: 2000MSMemory Limit: 32768K

Description

A power network consists of nodes (power stations, consumers and dispatchers) connected by power transport lines. A node u may be supplied with an amount s(u) >= 0 of power, may produce an amount 0 <= p(u) <= pmax(u) of power, may consume an amount 0 <= c(u) <= min(s(u),cmax(u)) of power, and may deliver an amount d(u)=s(u)+p(u)-c(u) of power. The following restrictions apply: c(u)=0 for any power station, p(u)=0 for any consumer, and p(u)=c(u)=0 for any dispatcher. There is at most one power transport line (u,v) from a node u to a node v in the net; it transports an amount 0 <= l(u,v) <= lmax(u,v) of power delivered by u to v. Let Con=Σuc(u) be the power consumed in the net. The problem is to compute the maximum value of Con.

An example is in figure 1. The label x/y of power station u shows that p(u)=x and pmax(u)=y. The label x/y of consumer u shows that c(u)=x and cmax(u)=y. The label x/y of power transport line (u,v) shows that l(u,v)=x and lmax(u,v)=y. The power consumed is Con=6. Notice that there are other possible states of the network but the value of Con cannot exceed 6.

Input

There are several data sets in the input. Each data set encodes a power network. It starts with four integers: 0 <= n <= 100 (nodes), 0 <= np <= n (power stations), 0 <= nc <= n (consumers), and 0 <= m <= n^2 (power transport lines). Follow m data triplets (u,v)z, where u and v are node identifiers (starting from 0) and 0 <= z <= 1000 is the value of lmax(u,v). Follow np doublets (u)z, where u is the identifier of a power station and 0 <= z <= 10000 is the value of pmax(u). The data set ends with nc doublets (u)z, where u is the identifier of a consumer and 0 <= z <= 10000 is the value of cmax(u). All input numbers are integers. Except the (u,v)z triplets and the (u)z doublets, which do not contain white spaces, white spaces can occur freely in input. Input data terminate with an end of file and are correct.

Output

For each data set from the input, the program prints on the standard output the maximum amount of power that can be consumed in the corresponding network. Each result has an integral value and is printed from the beginning of a separate line.

Sample Input

2 1 1 2 (0,1)20 (1,0)10 (0)15 (1)20
7 2 3 13 (0,0)1 (0,1)2 (0,2)5 (1,0)1 (1,2)8 (2,3)1 (2,4)7
         (3,5)2 (3,6)5 (4,2)7 (4,3)5 (4,5)1 (6,0)5
         (0)5 (1)2 (3)2 (4)1 (5)4

Sample Output

15
6
 
题意:有多个电站和多个消费者,求消费者消费的最大电能。
 
可以引入一个超级源点s和一个超级汇点t,源点和每一个电站建一条边,边容量为电站的最大产电量;每个消费者和汇点建一条边,边容量为消费者消费的最大电能。
 
#include <iostream>
#include<cstring>
#include<cstdio>

using namespace std;
const int MAXN=105;
const int INF=(1<<29);
int level[MAXN];
int flow[MAXN][MAXN];
int s,t,n,np,nc,m;

bool bfs()
{
    int queue[MAXN],front,rear;
    front=rear=0;
    memset(level,0,sizeof(level));
    level[s]=1;
    queue[rear++]=s;
    while(front!=rear)
    {
        int v=queue[front++];
        for(int i=0;i<=n;i++)
            if(!level[i]&&flow[v][i])
            {
                level[i]=level[v]+1;
                queue[rear++]=i;
            }
    }
    if(!level[t])
        return false;
    return true;
}

int dfs(int i,int f)
{
    if(i==t)
        return f;
    int sum=0;
    for(int j=0;f&&j<=n;j++)
    {
        if(flow[i][j]&&level[i]+1==level[j])
        {
            int tmp=dfs(j,min(f,flow[i][j]));
            flow[i][j]-=tmp;
            flow[j][i]+=tmp;
            sum+=tmp;
            f-=tmp;
        }
    }
    return sum;
}

int dinic()
{
    int maxflow=0;
    while(bfs())
        maxflow+=dfs(s,INF);
    return maxflow;
}

void build_graph()
{
    int u,v,f;
    char str[10];
    memset(flow,0,sizeof(flow));
    while(m--)
    {
        scanf("%s",str);
        sscanf(str,"(%d,%d)%d",&u,&v,&f);
        flow[u][v]=f;
    }
    while(np--)
    {
        scanf("%s",str);
        sscanf(str,"(%d)%d",&u,&f);
        flow[s][u]=f;
    }
    while(nc--)
    {
        scanf("%s",str);
        sscanf(str,"(%d)%d",&u,&f);
        flow[u][t]=f;
    }
}

int main()
{
    while(~scanf("%d%d%d%d",&n,&np,&nc,&m))
    {
        n++;
        s=n-1;
        t=n;
        build_graph();
        printf("%d\n",dinic());
    }
    return 0;
}
/*
7 2 3 13
(0,0)1
(0,1)2
(0,2)5
(1,0)1
(1,2)8
(2,3)1
(2,4)7
(3,5)2
(3,6)5
(4,2)7
(4,3)5
(4,5)1
(6,0)5
(0)5
(1)2
(3)2
(4)1
(5)4
*/

uniapp [全端兼容] - 最新详细实现拍摄视频录像并可播放预览视频,调起本机摄像头开启录像录制完毕后保存到本机临时存放,可对拍摄的视频进行压缩处理减少文件大小不损失画质,详解录制视频并读取播放! uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,录视频,拍视频,拍摄录制视频后上传服务器,调起摄像头录视频并可预览,录视频上传,录像,uniapp录制视频并上传,录制视频并保存到本地设备,如何本地保存并播放预览,提供给用户观看MP4视频录像并上传到后端服务器完整功能源码,视频压缩,mp4文件,删除视频,录像后怎么预览,临时视频文件怎么减少压缩大小,视频压缩及上传,自己录视频并生成可播放的文件,录视频并能打开查看,视频压缩后上传,本机相册,录完怎么预 阅读详情

相关推荐

共聚焦显微镜的光源、工作原理与选型

共聚焦显微镜作为科研与工业领域中重要的微观成像工具,凭借光源的精准适配性、光学切片技术的三维成像能力,以及对不同工业场景的定制化适配潜力,为半导体检测、工业部件分析、智能制造升级提供了关键技术支撑。深入理解其光源特性、工作原理与选型逻辑,能帮助工程师与技术人员精准匹配设备与生产需求,既保障微观检测的精度与效率,又为产业优化、技术创新筑牢微观观测的基础。

PhotonixBay的博客 1536

POJ 1459 Power Network

链接:http://poj.org/problem?id=1459 题目: Power Network Time Limit: 2000MS   Memory Limit: 32768K Total Submissions: 21928   Accepted: 11453 Description A power netwo

u010084308的专栏 837

ESP32、MicroPython、天问ASR-PRO,串口发送数据并播报

天问ASRPRO语音芯片内置脑神经网络处理器,支持DNN、TDNN、RNN等神经网络及卷积运算硬件运算,非软件运算,支持语音识别、声纹识别、语音增强、语音检测、单麦克风降噪增强、单麦克风回声消除、360度全方位拾音等功能。ASR-PRO可以图形化编程,降低开发难度,对小白友好。之前使用ASRPRO与ESP32进行过语音控制,这次由于一个项目需要对ESP处理过后的数据进行播报,就想到利用该模块。以下程序主要为测试代码,并非实际项目,仅供参考学习(若有错误,欢迎指正)。二者通过串口通信,波特率为9600。

weak_student的博客 5948

解题报告 之 POJ1459 Power Network

解题报告 之 POJ1459 Power Network Description A power network consists of nodes (power stations, consumers and dispatchers) connected by power transport lines. A node u may be supplied with

JUST CODE 543

stm32驱动NRF24L01_原理+代码解析

NRF24L01是NORDIC公司生产的一款无线通信通信芯片,采用FSK 调制,集成NORDIC自家的Enhanced Short Burst协议。可以实现点对点或是1对6的无线通信。无线通信速度最高可达到2Mbps。①2.4G全球开放的ISM频段,免许可证使用。②最高工作速率2Mbps,高校的GFSK调制,抗干扰能力强。③126个可选的频道,满足多点通信和调频通信的需要。④内置CRC检错和点对多点的通信地址控制。⑤可设置自动应答,确保数据可靠传输。//NRF24L01寄存器操作命令。

zyc18700766982的博客 2万+

向华为学习——解读158页 华为敏捷园区网技术解决方案【附全文阅读】

华为敏捷园区网解决方案通过策略随行和体验随身技术,满足移动办公场景下的网络需求。该方案采用敏捷交换机和防火墙自动执行策略配置,实现用户身份认证与业务策略的无缝衔接,且策略配置与IP地址解耦,简化了管理流程。相比传统技术,该方案有效解决了用户分级、QoS保障、无线接入等关键问题,确保用户在移动过程中获得一致的网络体验。

cdfunlove的博客 379

poj 1459 Power Network

A的第一道网络流,嘿嘿,相比较来说蛮合适的。题目不难,套模板,注意加超级源、超级汇。难就难在能把题看完,题目很纠结啊。。 题目大意就是说,输电网络中:p是发电站,c是用户。由Sample Input:输入边、p、c ,求最大流。 多源多汇!?加个源点连接所有p,所有c 连接汇点,又是单源单汇了。 ek 1 #include<stdio....

aizhengcuo9261的博客 140

AI上推荐 之 隐语义模型(LFM)和矩阵分解(MF)

1. 前言 随着信息技术和互联网的发展, 我们已经步入了一个信息过载的时代,这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战: 信息消费者:如何从大量的信息中找到自己感兴趣的信息? 信息生产者:如何让自己生产的信息脱颖而出, 受到广大用户的关注? 为了解决这个矛盾, 推荐系统应时而生, 并飞速前进,在用户和信息之间架起了一道桥梁,一方面帮助用户发现对自己有价值的信息, 一方面让信息能够展现在对它感兴趣的用户前面。 推荐系统近几年有了深度学习的助推发展之势迅猛, 从前深度学习的传统推荐模型(协

Miracle8070 1万+

【最大流+dinic】北大 poj 1459 Power Network

/* THE PROGRAM IS MADE BY PYY */ /*----------------------------------------------------------------------------// Copyright (c) 2011 panyanyany All rights reserved. URL : http://poj.org/...

网站开发初中级代码参考-转载 103

Vue3 - 完美解决高德地图定位失败 Get ipLocation failed.Geolocation permission denied.(获取ipLocation失败。地理定位权限被拒绝。)

Get ipLocation failed.Geolocation permission denied.,vue3引入高德地图当前定位失败 ,vue3中使用高德地图定位报错,高德地图API用户定位失败,高德地图H5 定位失败报错排查和解决方案,微信公众号H5网页高德地图定位报错,谷歌浏览器-高德地图定位失败geolocation,getCurrentPosition 返回的 message报错,如何解决此问题,uniapp h5高德地图,微信、QQ等内置浏览器定位失败,高德地图实现实时用户位置定位,引入高德

🏆 前端领域优质创作者 4169

秃鹰搜索优化算法(BES)详解:从自然捕食到全局优化

秃鹰搜索优化算法(Bald Eagle Search Optimization Algorithm,BES)是由马来西亚学者Alsattar等人于2020年提出的一种新型元启发式优化算法。该算法灵感来源于秃鹰在自然界中高超的捕食行为,特别是其独特的狩猎策略和卓越的视觉搜索能力,模拟了秃鹰捕食鲑鱼等猎物的完整过程。

qq_42212808的博客 1350

Poj 1459 Power Network 最大流

Poj的1459题Power Network,很敏

liulingbo918 896

基于深度学习的交通标志识别系统:使用YOLOv10、UI界面及自定义数据集的实现

实时检测和分类交通标志。提供一个友好的用户界面,方便用户上传图片或视频进行检测。收集和显示检测结果,以便进行进一步分析。YOLO(You Only Look Once)是一种高效的目标检测算法,它能够在一次前向传播中同时进行目标定位和分类。YOLOv10是YOLO系列的最新版本,具有更好的检测精度和速度。本项目成功实现了基于YOLOv10的交通标志检测与识别系统。通过实时检测与分类,系统能够有效识别出各种交通标志,为智能交通应用提供支持。

YOLO 1234

POJ 1459 Power Network【SAP】

http://poj.org/problem?id=1459POJ 1459 Power Network大意:已知供电站的最大供电量,消费者的最大消费量,电线传输电量的上限,求整个供电网的最大供电量算法核心:SAP #include<stdio.h> #include<string.h> const int N = 100+5; const int M...

a48634331的博客 149

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Power Network(POJ 1459)

# Power Network(POJ 1459) 题意: 有N个发电站,NC个用户,NP个中转站,M条传输线,求最大供电量。 思路: 裸的最大流问题; 唯一有搞一点的输入格式,从网上学了一手,过了。 开始Dinic的板子超时了,换SAP就过了,emmmmm。 AC code: #include&lt;algorithm&gt; #include&lt;queue&gt; #include&lt;...

纵无涯 348

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Poj1459 Power Network 预流推进

Poj1459 Power Network 预流推进 问题描述: A power network consists of nodes (power stations, consumers and dispatchers) connected by power transport lines. A node u may be supplied with an amount s(u) >= 0 ...

weixin_30401605的博客 119

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

POJ 1459 Power Network

Power Network Time Limit: 2000MS   Memory Limit: 32768K Total Submissions: 19156   Accepted: 10107 Description A power network consists of nodes (power stations, consumers

ACM2272902662的专栏 626

POJ1459 - Power Network

原题链接 题意简述 原题看了好几遍才看懂… 给出一个n(n≤100)个点,m(m≤n2)条边的有向图。n个点中有np个源点,nc个汇点,每个源点和汇点都有流出上限和流入上限。求最大流。 题解 建一个真 · 源点和一个真 · 汇点。真 · 源点向所有原源点连容量等于其上...

TC1129的博客 129

POJ1459-Power Network

全解题报告索引目录 -> 【北大ACM – POJ试题分类】 转载请注明出处:http://exp-blog.com ------------------------------------------------------------------------- 提示:BFS找增广链 + 压入重标法 解题思路: 多源多汇最大流问题 题目给出很多都是废话,特别是...

ζёСяêτ - 小優YoU 4813

poj1459——Power Network

题目大意:网络图中有n个结点,其中有np个发电站,nc个耗电站,还有n-np-nc个中转站,给出m条输电线,每个输电线上的运送电量为l(u,v),意为uv结点间的输电量,p(u)代表u结点的产电量,c(u)代表u结点的耗电量,s(u)代表给u结点的供电量,d(u)=s(u)+p(u)-c(u),代表能从u结点输出的电量,规定发电站的c(u)=0,耗电站的p(u)=0,中转站的p(u)=c(u)=0...

tzyshiwolaogongya的博客 265
上一篇: poj2112 Optimal Milking (Dinic+Floyd+二分)
下一篇: poj1087 A Plug for UNIX
捡石子的小孩
博客等级 码龄14年 51粉丝 117原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值