P1402 酒店之王-(网络流最大流)

P2891 P1402 P1231 【模板】三分图匹配 题解 这三题简直一模一样: P1402 酒店之王 P1231 教辅的组成 P2891 [USACO07OPEN]吃饭Dining 网络流-最大流-最大匹配 感觉就是三分图匹配(雾 注意,三分图中间的那一层需要拆点,不然一个点可能被访问多次 代码: P2891 [USACO07OPEN]吃饭Dining #include<cstdio> #include<iostream> #in... 阅读详情
题目链接:点击进入、
思路

源点->房间->人(拆点)->菜->汇点

代码
#include<cstdio>
#include<algorithm>
#include<queue>
#include<iostream>
#include<cstring>
using namespace std;
typedef long long ll;
const int maxn=1e6+10;
struct node
{
    int to;
	int next;
	ll val;
}edge[maxn];
int head[maxn],tot;
void add(int u,int v,int val)
{
    edge[tot].to=v;
	edge[tot].val=val;
    edge[tot].next=head[u];
	head[u]=tot++;
}
int deep[maxn];
int cur[maxn];
int n,p,q,x;
ll res;
int s;
int t;
int dfs(int pos,int flow)
{
    if(pos==t) return flow;
    int rest=flow,k,i;
    for(i=cur[pos];i!=-1&&rest;i=edge[i].next)
    {
    	int v=edge[i].to;
        int val=edge[i].val;
        if(deep[v]==deep[pos]+1&&val)
        {
            k=dfs(v,min(val,rest));
            if(!k) deep[v]=0;
            edge[i].val-=k;
            edge[i^1].val+=k;
            rest-=k; 
        }
	}
	cur[pos]=i;
    return flow-rest;
}
bool bfs()
{
	memset(deep,0,sizeof(deep));
    deep[s]=1;
    queue<int>q; 
    q.push(s);
    cur[s]=head[s];
    while(q.size())
    {
        int now=q.front();
		q.pop();
		for(int i=head[now];i!=-1;i=edge[i].next)
		{
			int v=edge[i].to;
            if(edge[i].val&&!deep[v])
            {
            	q.push(v);
            	cur[v]=head[v];
                deep[v]=deep[now]+1;
				if(v==t) return 1;
            }
		}
    }
    return 0;
}
void dinic()
{
	while(bfs())
        res+=dfs(s,0x3f3f3f3f);
}
int main()
{
	ios::sync_with_stdio(false);
	memset(head,-1,sizeof(head));
	cin>>n>>p>>q;
	s=2*n+p+q+1,t=2*n+p+q+2;
	for(int i=1;i<=p;i++)
	{
		add(s,i,1);
		add(i,s,0);
	}
	for(int i=p+2*n+1;i<=p+2*n+q;i++)
	{
		add(i,t,1);
		add(t,i,0);
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=p;j++)
		{
			cin>>x;
			if(x==1)
			{
				add(j,i+p,1);
				add(i+p,j,0);
			}
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=q;j++)
		{
			cin>>x;
			if(x==1)
			{
				add(i+p+n,j+p+2*n,1);
				add(j+p+2*n,i+p+n,0);
			}
		}
	}
	for(int i=1;i<=n;i++)
	{
		add(i+p,i+p+n,1);
		add(i+p+n,i+p,0);
	}
    dinic();
    printf("%lld\n",res);
	return 0;
}
从零打造M328晶体管测试仪:硬件DIY与烧录避坑指南 本文是一份详尽的M328晶体管测试仪DIY指南,涵盖从硬件选型、PCB设计、焊接组装到固件烧录的全过程。重点解析了使用AVR单片机与Arduino IDE环境时,如何正确设置熔丝位以避免“白屏”等常见问题,并提供了使用ISP编程器进行烧录的实操步骤与校准方法,帮助电子爱好者成功打造属于自己的高性价比元件测试工具。 阅读详情

相关推荐

手把手教你用LIO-SAM搞定激光雷达和IMU联合标定(附避坑指南)

本文详细介绍了使用LIO-SAM进行激光雷达与IMU联合标定的全流程,包括标定原理、工具选型、硬件配置、数据采集、LI_calib标定步骤及LIO-SAM集成验证。特别提供了避坑指南和参数优化技巧,帮助开发者高效完成传感器标定,提升自动驾驶和机器人定位精度。

hadoop5ranger的博客 995

P1402 酒店之王(网络流)

P1402 酒店之王(网络流) 显然网络流,先建立超级源点连房间,超级汇点连菜,考虑一个人同时可以选房间和菜,但是贡献只算一次,所以对人拆点。两个点连1权,限制流量贡献就是1了。 然后喜欢的边权1,跑dinic即可。 code //2+200+200 st=0,ed=505; scanf("%d%d%d",&n,&p,&q); for(int i=1;i<=p;i++) add(st,i,1); for(int i=1;i<=q;i++) add(i+n,ed,

Harris-H的博客 420

三代测序选型指南:PacBio HiFi vs Nanopore vs Illumina技术对比与适用场景

本文深入对比了三代测序技术PacBio HiFi、Nanopore与Illumina的核心参数、成本模型和应用场景,为生物信息学研究提供选型指南。通过实测数据和技术组合策略分析,帮助实验室根据研究需求选择最适合的测序方案,涵盖基因组组装、表观遗传学等关键应用领域。

fern8的博客 903

P1231 教辅的组成-(网络流最大流)

题目链接:点击进入 思路 源点->练习册->书(拆点)->答案->汇点 (连边容量都为 1 ,同时书要拆点,如果不拆点,书会被用很多次,但是因为一本书只能用一次,所以可以通过拆点来避免这个问题。) 剩下的就是跑 dinic 了 图片来源于网络:点击进入 代码 #include<cstdio> #include<algorithm> #include<queue> #include<iostream> #include<cstri

Cosmic_Tree的博客 221

腾讯Octop:Windows本地AI助手一键安装实战指南

本地AI助手是面向普通用户在个人设备上运行大语言模型的轻量级解决方案,其核心原理在于封装模型加载、推理调度与Web交互等底层复杂性,通过预编译运行时、自适应硬件加速和图形化配置降低使用门槛。技术价值体现在免环境依赖、离线可用、开箱即用,显著提升非开发者在专利撰写、文案生成、技术文档处理等办公场景中的生产力。本文聚焦Windows平台下的腾讯Octop工具,结合qwen2-7b-instruct、phi-3-mini等主流GGUF量化模型,详解安装适配、API集成与专利辅助工作流,覆盖从零部署到工程落地的完整

weixin_29055137的博客 304

大模型产品Deepseek(七)、可视化本地知识库搭建详细教程(Cherry Studio)

Cherry Studio 为智能体的开发提供了一个强大的可视化平台,结合大模型和嵌入式知识库,它可以在多个应用场景中提供智能化的支持。如果你有进一步的需求或问题,可以继续在 Cherry Studio 中进行更多自定义配置,或者通过 API 调用集成到你的应用中。现在,知识库已经搭建并与 DeepSeek 模型连接好,接下来,我们将使用 Cherry Studio 提供的可视化界面进行智能提问。为了让智能体能够通过大模型查询到知识库中的信息,你需要为知识库配置索引和匹配模型。

xiaoqi270620903的专栏 1332

P1402 酒店之王(网络流拆点建图)

#include<bits/stdc++.h> using namespace std; const int N = 1100; const int inf = 0x3f3f3f3f; int n,p,q,S,T,tot; int en=1,head[N],h[N],Q[N]; struct edge{ int to,v,next; }e[N*10]; inline void i...

qq_42129242的博客 168

OpenClaw与大语言模型(Claude/GPT/MiniMax)的集成架构与最优配置策略

摘要 本文探讨了OpenClaw框架与大语言模型(Claude/GPT/MiniMax)的集成架构与优化策略。大语言模型具有强大的自然语言处理能力,但集成面临API成本、响应延迟、上下文管理等挑战。OpenClaw采用分层架构设计,包括用户界面层、对话管理层、提示工程层、模型适配层和API调用层,支持多模型切换、智能对话管理和成本控制。系统通过模型适配层实现不同API的统一调用,并提供缓存、监控等优化机制。该集成方案能够充分发挥大语言模型的优势,为本地AI助理提供更智能的服务。

一键难忘的博客 1693

洛谷 P1402 酒店之王 网络流 二分图变形 最大流 FF算法

题目链接: https://www.luogu.com.cn/problem/P1402 参考博客: https://www.luogu.com.cn/blog/lhc/solution-p1402 算法:1:最大流FF算法 思路: 1:我们以房间、菜、人为点建图, 像这样:注意,以下出现的所有边边权皆为1,且其反向边边权为0 2:S(=0)表示额外建的一个起始点,Ri(=...

aiwo1376301646的博客 326

Flow Matching03-01:微分方程【微分方程(描述变化规律的方程):包含未知函数和它的导数的方程】【公式解(精确)、数值解(逼近)】

好的,我将从数学角度详细解释Flow Matching,从高中生能理解的基础知识开始,逐步深入到高级概念。

u013250861的博客 219

YOLOv8源码解析与复现:ShuffleAttention:高效的混合注意力机制 实现通道和空间混合注意力

随着深度学习在计算机视觉领域的飞速发展,卷积神经网络(CNNs)已经成为图像分类、目标检测、语义分割等任务的核心。为了进一步提升模型的性能,研究者们引入了“注意力机制”,旨在让网络能够动态地关注输入数据中最具信息量的部分。经典的注意力模块,如SE-Net(Squeeze-and-Excitation Networks)和CBAM(Convolutional Block Attention Module),通过通道注意力或结合通道与空间注意力,显著增强了模型的特征表达能力。

FJN110的博客 554

【洛谷P1402】酒店之王【网络流 最大流】

linklinklink 分析: 建图比较复杂 注意人可能被重复用 所以把人拆成两个点 一个和房间连 一个和菜连 两点再连上就好了 其他正常DinicDinicDinic即可 CODE: #include<cmath> #include<algorithm> #include<cstring> #include<cstdio> #include<iostream> #include<queue> using namespace st..

绫 202

2024年数字IC秋招-华为机试-数字芯片-实习笔试题

笔试题目:40个选择题A.综合时不同文件列表内的宏定义仅在本列表生效B.宏定义会覆盖,不需要单独undefC.仿真时出现宏定义冲突以最后一次值为准D.宏定义最好在各文件中随用随定义A.4/9B.4/6C.01D.0/6。

qq_42135020的博客 2891

洛谷P1402 酒店之王--网络流最大流拆点

题目描述 XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化。由于很多来住店的旅客有自己喜好的房间色调、阳光等,也有自己所爱的菜,但是该酒店只有p间房间,一天只有固定的q道不同的菜。 有一天来了n个客人,每个客人说出了自己喜欢哪些房间,喜欢哪道菜。但是很不幸,可能做不到让所有顾客满意(满意的条件是住进喜欢的房间,吃到喜欢的菜)。 这里要怎么分配,能使最多顾客满意呢? 输入格式 第...

weixin_43918046的博客 239

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

luogu P1402 酒店之王[二分图最大匹配][网络流最大流]

P1402 酒店之王 link 思路: 这道题,问最多可以使多少人满足的最大匹配,我们一般采用二分图。 考虑将房间做一遍二分图,菜做一遍二分图。 但是我们要注意一个细节, 假设编号为3的客人喜欢1号房间,1号菜 可是房间1号被占用了,而菜没有被占用 这时来了一个编号为4的客人,喜欢2号房(空),1号菜 但是你的ans并不会+1,应为find2时link2[1]=3; 也就是说一号菜被3号客人占用了; 但是3号客人并没有占用 所以我们必须还原数组!! 邻接矩阵(100分): #include <cs

蒟蒻こんにゃく 309

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

洛谷P1402 酒店之王【网络流/点的限制/拆点】

题目链接:P1402 酒店之王 分析:对客人拆点加上限为1的限制; #include<bits/stdc++.h> #define pb push_back using namespace std; typedef long long ll; const int maxn=1200; const int mod=1e9+7; const int inf=0x3f3f3f3f; s...

MaJorieL 308

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

网络流专题

仔细思考了一下,发现自己还有许多弱项,网络流也是其中之一,而且只会写板子,需要补一补。 还有10天就GDOI了,要抓紧啊…… 注意:以下某些题没有写代码,只是口胡后看了题解发现差不多,不保证完全正确。 本专题的题单来自 https://www.cnblogs.com/xht37/p/10457051.html ,Orz神仙 二分图 洛谷P1402 酒店之王 把每个人拆成两个点放在中间,左...

dfn8726的博客 675

2020.05.02日常总结——网络流入门第一课最大流第二讲(建图的技巧)

Part one:前言\color{green}{\texttt{Part one:前言}}Part one:前言 在 OI 中,随着考查图论的难度越来越大,越来越多的图论题的难度并不在算法身上,而在如何转化原题目而可以方便而快速地使用图论知识解决上。 作为图论中的一个重要分支,网络流的考查自然是 OI 的重点,不可避免地,考查网络流的题目也和其它图论题目一样,题意变得难懂了...

ZHUYINGYE_123456的博客 283

LuoguP1402 酒店之王

LuoguP1402 酒店之王 最大流题目。带有一定的思维技(tao)巧(lu) 依旧分析题目。如果只有房间或者菜一种限制。那么就是一道裸的最大流了 可是两种条件都应当满足, 这貌似也可以做。 因为每个菜和房间都只能选择一次。我们很容易建出这样一个模型 上图中矩形表示房间,圆表示顾客,三角表示菜 但是很不幸,是错的 因为我们忽略了人的限制,每个菜和房间都只能选择一次,每个人也只能被选择...

weixin_30950887的博客 118

网络流建图方法(一)拆点法 + 例题 洛谷 P1402 酒店之王

众所周知图论中网络流问题最重要的就是建图了,如果可以建图成功了那么题目也就自然而然的做出来了,今天介绍的是拆点法建图,首先来看例题洛谷P1402 题目描述 XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化。由于很多来住店的旅客有自己喜好的房间色调、阳光等,也有自己所爱的菜,但是该酒店只有p间房间,一天只有固定的q道不同的菜。 有一天来了n个客人,每个客人说出了自己喜欢哪些房间,...

一颗牙疼 623

【洛谷1402】酒店之王

题面 https://www.luogu.org/problem/P1402 题解 // luogu-judger-enable-o2 #include<cstdio> #include<cstring> #include<iostream> #include<vector> #include<queue> ...

weixin_30362233的博客 114

【洛谷P1402】酒店之王

题目大意:有三个集合 \(P,Q,N\),P 与 N 集合之间存在一些有向边,N 与 Q 集合之间存在一些有向边。在三个集合中每个点最多只能利用一次的前提下,求最多能利用多少N 集合中的点,使得 \((p,n,q)\) 三个节点之间均有边相连。 题解:若只有两个集合,显然是二分图的最大匹配问题。对于三个集合来说,最麻烦的问题在于 N 集合中每个点只能被选一次,但是一个 N 集合中的节点却...

K1385170的博客 185

「LuoguP1402」 酒店之王(最大流

题目描述 XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化。由于很多来住店的旅客有自己喜好的房间色调、阳光等,也有自己所爱的菜,但是该酒店只有p间房间,一天只有固定的q道不同的菜。 有一天来了n个客人,每个客人说出了自己喜欢哪些房间,喜欢哪道菜。但是很不幸,可能做不到让所有顾客满意(满意的条件是住进喜欢的房间,吃到喜欢的菜)。 这里要怎么分配,能使最多顾客满...

ali39380的博客 136

P1402 酒店之王 最大流

\(\color{#0066ff}{ 题目描述 }\) XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化。由于很多来住店的旅客有自己喜好的房间色调、阳光等,也有自己所爱的菜,但是该酒店只有p间房间,一天只有固定的q道不同的菜。 有一天来了n个客人,每个客人说出了自己喜欢哪些房间,喜欢哪道菜。但是很不幸,可能做不到让所有顾客满意(满意的条件是住进喜欢的房间,吃到喜欢的菜)。 这里...

weixin_30248399的博客 101

[洛谷P1402] 酒店之王

洛谷连接:酒店之王 题目描述 XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化。由于很多来住店的旅客有自己喜好的房间色调、阳光等,也有自己所爱的菜,但是该酒店只有p间房间,一天只有固定的q道不同的菜。 有一天来了n个客人,每个客人说出了自己喜欢哪些房间,喜欢哪道菜。但是很不幸,可能做不到让所有顾客满意(满意的条件是住进喜欢的房间,吃到喜欢的菜)。 这里要怎么分...

dengtun2502的博客 187

洛谷$P$1402 酒店之王 网络流

正解:网络流 解题报告: 传送门! 一看就很网络流昂,,,于是现在的问题就变成怎么建图了$QwQ$ 首先如果只有一个要求,那就直接按要求建图然后跑个最大流就好. 现在变成,有两个要求,必须同时满足,考虑怎么解决? 考虑拆点,把人拆成两个点,分别连食物和酒店,然后跑个最大流,做完了$QwQ$ $over$ 对了这题有三倍经验,,,讨论区有分享$QwQ$ #incl...

qq_42692055的博客 139
上一篇: P1231 教辅的组成-(网络流最大流)
下一篇: P2055 [ZJOI2009]假期的宿舍-(网络流最大流)
Cosmic_Tree
博客等级 码龄7年 134粉丝 337原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值