这题的网络是这样建的。设一个源点s,s将于客户节点相连,连接方式为对考虑一个猪圈是第一次被光顾s将于这位顾客之间
有一条流容量是该猪圈的猪数,若这个猪圈被人光顾过,则在这个顾客和前一个顾客间有一条无限流量的通道。依次下去完成顾客
节点和s,顾客节点和顾客阶段间的网络。最后是顾客和汇点的网络,每个顾客和汇点t都有条通道,容量是顾客希望购买的数量。
- /*pku1149
- Name: PIGS
- Date: 27-07-08 16:42
- Description: 最大流
- */
- #include<stdio.h>
- #include<algorithm>
- #define pr printf
- #define MAX 10000000
- int pig[1002][103];
- int a[103][103],max;//容量
- int b[103][103];
- int m,n,min;
- #define SIZE 1000
- #define MAXN 103
- #define inf 1000000000
- int max_flow(int n,int mat[][MAXN],int source,int sink,int flow[][MAXN]){
- int pre[MAXN],que[MAXN],d[MAXN],p,q,t,i,j;
- if (source==sink) return inf;
- for (i=0;i<n;i++)
- for (j=0;j<n;flow[i][j++]=0);
- for (;;){
- for (i=0;i<n;pre[i++]=0);
- pre[t=source]=source+1,d[t]=inf;
- for (p=q=0;p<=q&&!pre[sink];t=que[p++])
- for (i=0;i<n;i++)
- if (!pre[i]&& (j=mat[t][i]-flow[t][i]))
- pre[que[q++]=i]=t+1,d[i]=d[t]<j?d[t]:j;
- else if (!pre[i]&& (j=flow[i][t]))
- pre[que[q++]=i]=-t-1,d[i]=d[t]<j?d[t]:j;
- if (!pre[sink]) break;
- for (i=sink;i!=source;)
- if (pre[i]>0)
- flow[pre[i]-1][i]+=d[sink],i=pre[i]-1;
- else
- flow[i][-pre[i]-1]-=d[sink],i=-pre[i]-1;
- }
- for (j=i=0;i<n;j+=flow[source][i++]);
- return j;
- }
- int main(){
- int i,j,A,B,key;
- scanf("%d%d",&m,&n);
- memset(a,inf,sizeof(a));//0表示没有流量
- for(i=1;i<=m;i++)
- {
- scanf("%d",&pig[i][0]);
- pig[i][102]=0;
- }
- for(i=1;i<=n;i++)
- {
- scanf("%d",&A);
- for(j=1;j<=A;j++)
- {
- scanf("%d",&key);
- if(pig[key][102]==0){a[0][i]+=pig[key][0];}//猪圈只和第一个顾客相连
- for(int k=pig[key][102];k>=1;k--){
- a[pig[key][k]][i]=MAX;
- }
- pig[key][++pig[key][102]]=i;
- }
- scanf("%d",&B);
- a[i][n+1]=B;
- }
- max=max_flow(n+2,a,0,n+1,b);//0是源点,n+1是汇点
- pr("%d/n",max);
- }
相关推荐
【SWAT水文模型】SWAT-CUP参数率定与模型验证实战指南
本文提供了SWAT水文模型参数率定与模型验证的完整实战指南。详细介绍了如何使用SWAT-CUP工具,特别是SUFI-2算法,进行自动化参数校准,并阐述了模型验证的关键步骤以避免过度拟合。内容涵盖从工程搭建、核心参数选择、迭代优化到结果分析与常见问题排查的全流程,旨在帮助用户提升SWAT模型模拟的准确性与可靠性。
Pku1149 PIGS 卖猪
题目链接:ヾ(≧∇≦*)ゝ Description Emmy在一个养猪场工作。这个养猪场有M个锁着的猪圈,但Emmy并没有钥匙。 顾客会到养猪场来买猪,一个接着一个。每一位顾客都会有一些猪圈的钥匙,他们会将这些猪圈打开并买走固定数目的猪。所有顾客有的钥匙和他们需要买猪的数量在事先都告诉了Emmy,于是Emmy要订一个计划,使得卖出去的猪最多。 买卖的过程是这样的:一个顾客前来,并打开所有他可以打开...
STM32接入CH340芯片的升级电路及初始化进入升级模式(死机)问题处理
MCU-REST 在 MCU-BOOT0 处于低电平状态下,进行下拉操作,在MCU-REST 与 MCU-BOOT0 恢复正常电平时,将导致MCU死机,MCU-REST 先于 MCU-BOOT0 下拉可解决该问题;MCU-REST 在 上升沿结束时将判断 MCU-BOOT0 的状态,MCU-BOOT0 处于高电平,MCU死机,MCU-BOOT0 处于低电平 MCU 正常;
POJ 1149 PIGS 最大流建图
思路见 PKU 1149,PIGS,构造网络流模型时,要注意合并节点和边 又是大神带我飞。。。 #include #include #include #include using namespace std; #define REP( i, a, b ) for( int i = a; i < b; i++ ) #define FOR( i, a, b ) for( int
【规则引擎连载3】 WebSphere ILOG JRules 开发——新建一个规则项目
规则项目依赖于bom,bom来自于一个Java项目,所以在建规则项目之前,需要先建立一个Java项目,也就是建模。 说明:原则上是一个规则项目,一个bom。如果规则项目很多,并且每个规则项目的bom都是一样的,那么可以将bom提取出来,单独作为一个项目,这样减少不必要的重复操作,减少维护成本,降低出错几率。这里逐步讲解两种方法来创建规则项目,推荐第二种。 本文主要建立两种规则项目与bom之间的关系,编写相关的规则内容,如操作规则、规则流、决策表等,在后续文章中详细讲解 。
深入解析postcss-px-to-viewport-8-plugin:如何精准控制响应式转换范围
本文深入解析了postcss-px-to-viewport-8-plugin插件在响应式开发中的核心痛点——如何精准控制单位转换范围。针对插件默认全局转换的问题,文章提供了两种实战解决方案:通过编写巧妙的exclude正则表达式实现“曲线救国”,或直接修改插件源码补全include功能。同时,文章还分享了在Next.js、Vite等现代框架中的集成要点及常见问题排查方法,帮助开发者实现“外科手术式”的精准样式转换。
【PKU 1149】PIGS(构图+网络流)
【题目描述】:说有一个人有好几猪圈的猪,给你猪圈中猪的个数。这个人自己没有猪圈的钥匙。现在他知道有一些顾客要来买猪,他们会带来一些猪圈的钥匙。这样他就可以打开猪圈并卖给顾客猪,在这过程中他可以调换这几圈猪中的猪。问你他最多可以卖出多少猪…… 【题目分析】:这个题本来不太好想到网络流,但是如果告诉你这个是网络流的题,你也会找出一个最原始的网络流模型。但是我们发现这个图极其巨大,
用Gazebo仿真无人机视觉SLAM:ORB-SLAM2+RGB-D相机完整调试记录
本文详细介绍了在Gazebo仿真环境中优化ORB-SLAM2用于无人机视觉SLAM的完整调试过程。通过定制传感器配置、调整ORB-SLAM2参数以及优化点云处理策略,显著提升了无人机在仿真环境中的SLAM性能。文章还提供了实用的调试技巧和性能评估方法,帮助开发者高效实现无人机视觉SLAM系统的仿真测试。
POJ1149 PIGS 题解
PKU 1149, PIGS,构造网络流模型时,要注意合并节点和边 ps: 本解题报告摘自 (点击上一行) 这道题目的大意是这样的: 有 M 个猪圈(M ≤ 1000),每个猪圈里初始时有若干头猪。一开始所有猪圈都是关闭的。依次来了 N 个顾客(N ≤ 100),每个顾客分别会打开指定的几个猪圈,从中买若干头猪。每个顾客分别都有他能够买的数量的上限。每个顾客走后,他打开
【Matlab】从零开始掌握 MATLAB 安装激活:从环境搭建到问题解决全指南
打开 MATLAB,点击 “主页 - 设置路径”;点击 “添加文件夹”,选择自定义的工作文件夹,点击 “保存”,重启 MATLAB 生效。MATLAB R2024a 的安装与激活是开启 MATLAB 学习的第一步,也是构建稳定学习环境的基础。本文从安装前准备、分步操作、验证测试、问题解决到环境优化,完整覆盖了新手所需的所有知识点 —— 核心要点在于:确认系统兼容、使用合法授权、选择纯英文安装路径、完成功能验证。
基于 Simulink 的三相四线制整流器在三相不平衡负载下的中点电位平衡控制实战教程
本文为三相四线制整流器在中点电位不平衡时的Simulink仿真教程。首先分析中点电位漂移的电荷不平衡机理,提出零序电压注入控制策略。详细演示建模步骤:搭建三相四线制主电路,构建中点平衡控制算法(含MATLAB函数代码),实现控制信号叠加与PWM生成。通过对比仿真验证控制效果,并给出零序电压限幅、中性线电感影响等工程建议。该方案能有效抑制三相不平衡负载下的中点电位波动,保证系统稳定运行。
ESP32参考方案筛选指南:从芯片选型到社区避坑的优先级排序
在嵌入式开发中,参考方案筛选是影响项目效率的关键环节。其核心原理在于根据项目阶段匹配资源层级,从芯片级、外设驱动级到系统方案级逐层递进。合理运用这一方法,能显著降低调试成本,避免因型号不匹配或文档过时导致的返工。典型应用场景包括物联网网关、以太网通信和LVGL界面开发等。例如,针对ESP32连接LAN8720以太网模块常遇到的时钟模式与引脚映射问题,或ESP32-S3驱动ILI9341屏幕跑LVGL的缓冲区配置,都需要从官方示例入手,再结合社区实战帖排查。通过建立从官方到社区、从底层到应用的筛选框架,开发者
【Docker】一招解决超时镜像超时报错:`ERROR: Get https://registry-1.docker.io/v2/`
Docker 镜像拉取超时或失败并不是 Docker 本身的缺陷,而是网络环境和默认配置在特定场景下的限制所导致的结果。通过本文的分析可以看到,问题的核心往往集中在三个方面:网络访问延迟、DNS 解析速度以及客户端默认超时时间。针对这些问题,最直接、有效的做法是使用国内镜像加速器,这不仅能够显著提升拉取速度,还能保证在企业内网或家庭网络中更加稳定
pku1149 最大流(EK算法)
PIGS 用EK就能做。 盗用大牛讲解: 题目大意: 有 M 个猪圈(M ≤ 1000),每个猪圈里初始时有若干头猪。 一开始所有猪圈都是关闭的。 依次来了 N 个顾客(N ≤ 100),每个顾客分别会打开指定的几个猪圈,从中买若干头猪。 每个顾客分别都有他能够买的数量的上限。 每个顾客走后,他打开的那些猪圈中的猪,都可以被任意地调换到其它开着的猪圈里,然后所有猪圈重新关上...
蓝牙模块HM-10手册
蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。
锂电池充电器电路设计 里面有电路
锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。
网络流(最大流):POJ 1149 PIGS
PIGS Time Limit: 1000ms Memory Limit: 10000KB This problem will be judged on PKU. 64-bit integer(整数) IO format: %lld Java class name: Main Mirko works on ...
WINCC7.3破解文件
WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!
poj1149迈克卖猪问题(PIGS)
/** 建图: : 将顾客看作是除源点和汇点的结点,并且另设两个结点,源点和汇点 :源点和每个猪圈的第一位顾客连边,边的权值是开始时猪圈中猪的数量 :若源点和某个结点有重边,则将权值合并(因此,从原点流出的流量就是所有猪圈所能提供猪的数量) :顾客j紧跟顾客i打开某个猪圈,则置的权值为无穷大,因为顾客j紧跟顾客i之后,迈克可以根据顾客j的需求,调来足够多的猪。 :每个顾客都和汇点连接,
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
【2010-2011冬令营前的奋斗】【01.14】PKU 1149 (网络流)
Pro Mirko 在一个由M间上了锁的猪窝组成的农场工作,由于没有钥匙,他打不开任何一个猪窝。客户一个接一个来到农场。他们每一个人都有一些猪窝的钥匙并且希望购买一定数量的猪。 每天大早 Mirko都能得到关于这一天客户们来到农场的计划的所有信息以便于他能制定一个计划来使卖出的猪的数目最大。 更详细的流程就是:1。一位顾客到...
pku 图论题目 转载
1062* 昂贵的聘礼 枚举等级限制+dijkstra 1087* A Plug for UNIX 2分匹配 1094 Sorting It All Out floyd 或 拓扑 1112* Team Them Up! 2分图染色+DP 1125 Stockbroker Grapevine FLOYD 1135 Domino Effect 最短路 1149* PIGS 网络流 116...
pku算法
主流算法:1.搜索 //回溯2.DP(动态规划) 3.贪心 4.图论 //Dijkstra、最小生成树、网络流5.数论 //解模线性方程6.计算几何 //凸壳、同等安置矩形的并的面积与周长7.组合数学 //Polya定理8.模拟 9.数据结构 //并查集、堆10.博弈论 //表示举例 非主流算法:1.送分题 2.构造 3.高精度
PKU_算法_分类
主流算法:1.搜索 //回溯2.DP(动态规划) 3.贪心 4.图论 //Dijkstra、最小生成树、网络流5.数论 //解模线性方程6.计算几何 //凸壳、同等安置矩形的并的面积与周长7.组合数学 //Polya定理8.模拟 9.数据结构 //并查集、堆10.博弈论 //表示举例 非主流算法:1.送分题 2.构造 3.高精度
【转】pku 图论
http://hi.baidu.com/hit_weisili/blog/item/8194078e26555ae7f01f3633.html 1062* 昂贵的聘礼 枚举等级限制+dijkstra1087* A Plug for UNIX 2分匹配1094 Sorting It All Out floyd 或 拓扑1112* Team Them Up! 2分图染色+DP1125 Stoc
PKU 图论分类-Author McFn
打星号的表示个人认为比较经典,或是算法,构图比较好的题目 1062* 昂贵的聘礼 枚举等级限制+dijkstra 1087* A Plug for UNIX 2分匹配 1094 Sorting It All Out floyd 或 拓扑 1112* Team Them Up! 2分图染色+DP 1125 Stockbroker Grapevine FLOYD 1135
网络流习题集
变形很多,最小割最大流定理的理解是关键 POJ 1149 - PIGS(较难) http://acm.pku.edu.cn/JudgeOnline/problem?id=1149 绝对经典的构图题 POJ 1273 - Drainage Ditches(基础) http://acm.pku.edu.cn/JudgeOnline/problem?id=1273 最大流入门 PO
499



被折叠的 条评论
为什么被折叠?



