1459 poj

POJ1459解题报告 已经好几天没写解题报告了,今天年初一,呵呵,写一个,为今年开个好头。下面步入正题:POJ1459这道题目的要求是求最大的消耗量。我们添加一个源点s和一个汇点t,与s相连的是所有的np(生产点),边权值为其自己能产生的数值;与t相连的是所有的nc(消耗点),边权值为其消耗最大值。至此便完成了网络的构图。然后直接套用最大流的算法模版即可解决。我使用的是EK算法。什么是EK算法?EK算法的原理是 阅读详情
 

很裸的网络流 加一个汇点 和原点就行了

#pragma comment(linker, "/STACK:1024000000,1024000000")
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;


const int MAXN = 20000;

const int inf = 0x7fffffff;

const int s = 0;

struct edge{
       int v,next,w;
}edge[1000000];

int head[2*MAXN],cnt;//for sap

void addedge(int u, int v, int w)
{
     edge[cnt].v = v;
     edge[cnt].w = w;
     edge[cnt].next = head[u];
     head[u] = cnt++;
     edge[cnt].v = u;
     edge[cnt].w = 0;
     edge[cnt].next = head[v];
     head[v] = cnt++;
}

int sap(int t)
{
    //cout << " sap " << endl;
    int pre[2*MAXN],cur[2*MAXN],dis[2*MAXN],gap[2*MAXN]; //gap±ê¼Ç¶Ï²ã
    int flow = 0 , aug = inf ,u;
    bool flag;
    for (int i = 0 ; i <= t ; ++i)
    {
        cur[i] = head[i];
        gap[i] = dis[i] = 0;
    }
    gap[s] = t+1;
    u = pre[s] = s;
    while (dis[s] <= t)
    {
          flag = 0 ;
          for (int &j = cur[u] ; ~j ; j = edge[j].next)
          {
              int v = edge[j].v;
              if (edge[j].w > 0 && dis[u] == dis[v]+1)
              {
                   flag = 1;
                   if( edge[j].w < aug )aug = edge[j].w;
                   pre[v] = u;
                   u = v;
                   if (u == t)
                   {
                       flow += aug;
                       while (u != s)
                       {
                             u = pre[u];
                             edge[cur[u]].w -= aug;
                             edge[cur[u]^1].w += aug;
                       }
                       aug = inf;
                   }
                   break;
              }
          }
          if ( flag )continue ;
          int mindis = t+1;
          for (int j = head[u]; ~j ; j = edge[j].next)
          {
              int v = edge[j].v;
              if (edge[j].w > 0 && dis[v] < mindis)
              {
                 mindis = dis[v];
                 cur[u] = j;
              }
          }
          if(--gap[dis[u]] == 0)break;
          gap[ dis[u] = mindis+1 ]++;
          u = pre[u];
    }
    return flow;
}

void init ()
{
     memset (head , -1 , sizeof(head));
     cnt=0;
}

int main()
{
    int n , np , nc , m;
    while (scanf("%d%d%d%d" , &n , &np , &nc , &m )!= EOF )
    {
        int a, b , c;
        init ();
        for ( int i = 0 ; i < m ; i ++ )
        {

            scanf(" (%d,%d)%d" , &a, &b, &c );
            a++, b++;
            //cout << a << " **** " <<b <<  endl;
            addedge (a, b , c);
        }
        //cout <<" here" << endl;
        for ( int i = 0 ; i < np ; i ++ )
        {
            scanf(" (%d)%d" , &a, &c );
            a++;
            //cout << a <<"***** " <<c << endl;
            addedge ( 0 , a , c );
        }
        //cout << " adfasdf " << endl;
        for ( int i = 0 ; i < nc ; i ++ )
        {
            scanf(" (%d)%d" , &a , &c );
            a++;

            addedge ( a , n+1, c );
        }


        printf("%d\n" , sap ( n+1 ) );
    }
    return 0;
}

华为海思IC笔试通关秘籍:物理/电路/工艺三大方向高频考点解析(附真题) 本文深度解析华为海思IC笔试中物理设计、电路设计和工艺制造三大方向的高频考点与备考策略。针对华为海思IC笔试机考的特点,提供了方向选择建议、核心知识梳理及真题实战技巧,帮助考生构建系统性复习框架,高效备战,提升通关成功率。 阅读详情

相关推荐

VMware vCenter 6.7证书过期急救指南:从503报错到完美修复的全流程

本文详细解析了VMware vCenter 6.7因STS证书过期导致503报错的根本原因,并提供了一套从诊断到修复的完整实战流程。内容包括使用checksts.py脚本检测STS证书状态,通过fixsts.sh脚本更新证书,以及利用Certificate-Manager全面重置所有过期证书,帮助管理员快速恢复服务并避免常见陷阱。

weixin_29234239的博客 770

POJ--1459[Power Network] 网络最大流

分析:多源最大流问题,可以构造成一般最大流问题,增加一个超级源点s和一个超级汇点t即可。起点指向每个Power station,边的权值为Power station的Pmax。每个Consumer指向终点,边的权值为Cmax。Dispatcher看做一般节点。 感想:分别用EK和

___简言 666

H3C交换机Console口连接全攻略:从接线到PuTTY配置(附常见问题排查)

本文详细介绍了H3C交换机Console口的连接与配置方法,包括硬件线缆选择、驱动安装、PuTTY参数设置及常见问题排查。特别针对Console转USB线缆的兼容性和驱动安装难点提供实用建议,帮助网络工程师快速掌握串联调试技巧,解决连接中的黑屏、乱码等典型问题。

weixin_42549451的博客 674

POJ - 1459 Power Network 最大流模版,有点意思的输入

题目链接 https://vjudge.net/problem/POJ-1459 题意 n个节点,有用电器,有发电站,有中转站,m条路线,有流量限制,求最大用电器功率 思路 不知道为什么一个最大流模板题题干这么绕人。。按m建图,s向发电站连边,权为发电量,用电器向t连边,权为最大功率,跑最大流 输入部分稍显麻烦,自己用的cin,看别人的博客学的c输入,挺巧妙的。 代码 #include<cstdio> #include<iostream> #include<iomanip&gt

TheSunspot的博客 347

【高级-RAG-优化方法】

本文介绍了两种优化RAG(检索增强生成)系统的高级方法。第一部分介绍KnowFlow项目,它采用父子分块技术,将文档分为父分块(800-1500字符)和子分块(200-400字符),通过精确匹配子分块再返回父分块内容来保证搜索精确性和上下文完整性。第二部分探讨Milvus的多种增强技术,包括查询增强(如假设问题生成、回溯提示)、索引增强(自动合并块、分层索引)、检索器增强(句子窗口检索、元数据过滤)、生成器增强(提示压缩、块排序)以及管道增强(自我反省、代理查询路由)。这些方法共同提升了RAG系统的检索效率

weixin_48585108的博客 960

WVP+ZLM国标平台实战:从设备注册失败到视频播放黑屏,我遇到的5个典型问题与解法

部署WVP+ZLM国标视频平台时,设备注册失败、视频播放黑屏等问题常常让运维人员头疼不已。本文将基于真实运维场景,剖析五个最具代表性的故障案例,提供从网络配置到版本兼容性的全链路解决方案。

weixin_33178839的博客 360

POJ-1459(多源多汇最大流,Dinic算法)

电场可以分为两个节点,节点间

还有多远 895

OpenClaw对接本地大模型:Llama3/Qwen/ChatGLM全适配,完全私有化部署

OpenClaw对接本地大模型,是企业级AI智能体落地的必经之路——它不仅解决了数据隐私和合规问题,还能大幅降低成本、提升响应速度、实现定制化。这篇文章我给大家完整拆解了两套部署方案:Ollama(新手首选,5分钟搞定)和vLLM(生产环境首选,高性能),覆盖了Llama3/Qwen/ChatGLM三大主流模型,还有真实的落地案例、高级优化、踩坑避坑指南,看完你就能零代码完成完全私有化的部署。从零开发自定义工具,给OpenClaw添加专属业务能力;

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 808

poj 1459

题目概述电力系统中有N个节点,编号0到N-1,其中NP个发电厂,NC个用户,剩下的都是中转站,电力通过M条输电上限为l的电线单向传输,每个发电厂产电p,每个用户用电c,中转站不产也不用电,问在电线不超载前提下所有用户能到达的最大用电量和时限2000ms/6000ms输入每组数据以四个整数N,NP,NC,M开始,其后M个三元组(a,b)l,描述一条电线的起点终点和输电上限,其后NP个二元组(a)p,描

[CHN]liurui 961

告别定位不准!Inner-IoU助力YOLOv11边界框回归精度飙升

Inner-IoU 凭借辅助边框的创新设计,成功解决了传统 IoU 损失在小目标、遮挡场景下的收敛难题,为 YOLOv11 注入了更强的定位能力。从原理剖析到代码集成,本教程已为你铺就了一条“精度提升”的实战路径。现在,不妨亲自上手尝试,让你的目标检测模型在各类数据集上都能交出一份“精度优异”的答卷——相信我,当你看到检测框精准贴合目标的那一刻,你会明白这份尝试的价值。

FJN110的博客 190

图文:银行核心账务处理逻辑(白话篇)

银行账务系统分为对内账(记录银行自身资产负债)和对外账(处理客户交易),通过特定编码规则的账号体系进行管理。采用T型账户结构和凭证制度确保每笔交易可追溯,通过明细核算与综合核算双线并行、每日轧账核对(科目日结单、总账、日计表)实现账务精准平衡。从业务触发到最终账平的全流程体现了银行账务"分层记录、双向核对、闭环校验"的核心原则,保障资金流动的透明性与安全性。

银行信息系统应用架构详解 539

poj1459 Power Network (最大流)

题意: 一个电力网络,一共n个节点,m条边,np个发电站,nc个用户。 每条边有一个容量,每个发电站有一个最大负载,每一个用户也有一个最大接受量。 问最多能供给多少电力。 思路: 多源多汇的最大流,设一个超级源点,与每一个源点连一条容量为最大负载的边, 设一个超级汇点,每一个用户与超级汇点连一条容量为最大接受量的边,然后求最大流。 代码(1396K,766MS): #include

Shion的专栏 907

气象水文资料预处理:缺测数据插补延长等

简介气象水文资料预处理

WW、forever的博客 3769

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

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

poj1459多源点网络流入门

poj1459多源点网络流入门 题目链接:http://poj.org/problem?id=1459 题目部分 题意: 简单的说下题意(按输入输出来讲,前面的描述一堆的rubbish,还用来误导人),给你n个点,其中有np个是能提供电力的点,nc个是能消费电力的点,剩下的点(n-np-nc)是中转战即不提供电力也不消费电力,点与点之间是有线路存在的,有m条线路,每条线路有最多运载限定。 前4个

formicary的专栏 3425

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

EK算法解决POJ 1459

POJ 1459http://poj.org/problem?id=1459 题意: 给几个发电站,给几个消耗站,再给几个转发点。发电站只发电,消耗站只消耗电,转发点只是转发电,再给各个传送线的传电能力。问你消耗站能获得的最多电是多少。 //方法如下: //虚拟出源点0和汇点n+1; 将所有的源点与0相连,将所有的汇点和n+1相连 #include <iostream>#i...

weixin_30815427的博客 139

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Poj 1459 Power Network 最大流

Poj的1459题Power Network,很敏

liulingbo918 896

poj 1459 多源点与汇点的最大流

题目:poj 1459 ps:题目看得我很难受,建议只看input output,还有那个输入我也是很难受 题目大意: 总共有n个点,有np个点是发电站,nc个点是消费电的,m条线,其他点只起到传输的作用 题目会给出np发电站有多少电,nc个消费电的地方最多消费多少电,然后要求出总的最大的消费电的值 题解: 多源点与汇点的模板题 蓝色为发电站,红色为消费电的地方,忽略中间的点 增加...

forOnward的博客 514

POJ 1459 Power Network——(网络流入门)

POJ 1459 Power Network题目链接:http://poj.org/problem?id=1459I/O坑爹。。一开始的想法:理论虽然简单,实现起来怀疑人生。问题主要在于用什么模型存储网络,并且可以快速读写(这是核心问题)。用矩阵存储一直TLE,后来一直想用map,但是感觉还是不行,最后还是换成链表了。第一次写的,用矩阵存储。一直TLE,我以为矩阵费时间,,后来发现神tm居然控制台...

rsy56640的博客 264

POJ 1459 最大流 Dinic

题意 传送门 POJ 1459 题解 题目描述天花乱坠,其实就是求发电机到消费者的多源点、多汇点的最大流;加入超级源点、超级汇点跑 DinicDinicDinic 即可。 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <queue> #include <vector> #include <cmath&gt

neweryyy的博客 183

poj 1459 多源点网络流入门题

poj1459多源点网络流入门 题目链接:http://poj.org/problem?id=1459 题目部分 题意: 简单的说下题意(按输入输出来讲,前面的描述一堆的rubbish,还用来误导人),给你n个点,其中有np个是能提供电力的点,nc个是能消费电力的点,剩下的点(n-np-nc)是中转战即不提供电力也不消费电力,点与点之间是有线路存在的,有m条线路,每条线路有最

nankeyimeng的博客 1113

poj 1459 最大流(Dinic)

/************************************************************************* > File Name: poj1459.cpp > Author: cy > Mail: 1002@qq.com > Created Time: 2014/9/24 21:02:55 **************

caoyu01 541

No.23 - POJ1459 邻接矩阵网络流

// ShellDawn // POJ1459 // No.23 #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<queue> #define MM(x) memset(x,0,sizeof(x)) #define IN...

ShellDawn的博客 219

poj 1459 Power Network

POJ1459  Power Network  点击打开链接 大致题意: 题蛮长的,但是一堆废话,我读了三遍才懂。 现在有np个发电站,每个发电站能生产最多P电量。有nc个顾客,每个顾客能消耗最大C电量。 其余的点代表转电站,既不消耗也不生产。每两个点之间有一条输电线,最大输送电量为L。 现在问,所有的顾客消耗的总电量最大是多少。。。 这道题就是求最大流,不过源点不唯一,汇点不唯一,不

zyy.cpp 的博客 496

POJ 1459 Power Network(最大流)

POJ 1459 Power Network(最大流) http://poj.org/problem?id=1459 题意:        (原题描述的过于复杂,原题中的s[i]根本不用管)总共有n个节点,其中有发电站np个、用户nc个和调度器n-np-nc个三种节点以及M条电线(用于传输电流的),每个发电站有一个最大发电量,每个用户有个最大接受电量,现在有m条有向边,边有一个最大的电流量,

code 1146

poj1459 多源多汇最大流

题目链接:http://poj.org/problem?id=1459 题目意思让我放弃了好几回,今天终于耐下心来读懂了 就不说题目意思了 看看输入输出: 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 ...

weixin_30686845的博客 170
上一篇: 网络流题目
下一篇: poj 2112
Sov_Matrix
博客等级 码龄17年 0粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值