【每日一题】【二分图最大匹配】【经典板子题】有大家喜欢的零食吗 河南萌新联赛2024第(一)场:河南农业大学 C题 C++
河南萌新联赛2024第(一)场:河南农业大学 C题
有大家喜欢的零食吗
题目描述
在某幼儿园中共有 n n n个小朋友,该幼儿园的老师为这 n n n 个小朋友准备了 n n n 份不一样的零食大礼包。每个小朋友只能选择一个,但老师并不知道小朋友们喜欢什么类型的零食大礼包,因此,老师让小朋友们分别说出了他们喜欢的零食大礼包都有哪些,老师希望能根据小朋友们的叙述来让所有的小朋友们都能吃到他们喜欢的零食。若并非所有的小朋友都能吃到自己满意的零食,请问老师最少还应购买多少份零食大礼包来保证所有的小朋友都能吃到自己满意的零食。
题目保证任意一个小朋友都会喜欢这 n n n 种大礼包中的至少一种。

样例 #1
样例输入 #1
3
2 1 2
1 3
3 1 2 3
样例输出 #1
Yes
说明
根据题目描述和样例,老师可以选择给第一个小朋友1号大礼包,给第二个小朋友3号大礼包,给第三个小朋友2号大礼包。这样可以保证每个小朋友可以吃到自己喜欢的零食
样例 #2
样例输入 #2
3
2 1 2
1 1
2 1 2
样例输出 #2
No
1
做题思路
首先这道题是很典型的二分图最大匹配题
如果不懂二分图最大匹配题如何做可以看文章
【每日一题】【二分图最大匹配】【匈牙利算法】【增广路径】 P3386 【模板】二分图最大匹配 C++
在某幼儿园中共有 n n n个小朋友,该幼儿园的老师为这 n 个小朋友准备了 n n n份不一样的零食大礼包。每个小朋友只能选择一个。
然后问能不能所有小朋友都吃到喜欢吃的。
把 n n n个小朋友看为一个集合,把 n n n份不一样的零食大礼包看为另一个集合,一个小朋友只能选一个,也就说两个集合间的元素连线。
这就是典型的二分图
需要最多的小朋友迟到喜欢吃的,也就是说尽量多的小朋友能选择到。
这就是典型的二分图最大匹配问题(小朋友匹配零食)
具体修改板子的地方
只需要读取的时候改一下,就可以用了
cin >> n;int k;for(int i=1;i<=n;i++){cin >> k;for(int j=1;j<=k;j++){cin >> v;eg[i].push_back(v);//第i个小孩喜欢v零食,有这条边}}
时间复杂度 + 伪代码
因为至少改模板的输入,其他不变所以,时间复杂度分析+伪代码具体可以参考模板的文章。
代码
#include <iostream>
#include <algorithm>
#include <vector>
#include <cstring>
using namespace std;
const int N = 5e4+10;
int n,m,e , u , v , cnt;
int mach[N],vis[N];
vector<int>eg[N];
bool dfs(int x,int flag){for(auto i:eg[x]){if(vis[i])continue;vis[i] = true;if(!mach[i] || dfs(mach[i],flag)){//没有被匹配 或 有增广路径mach[i] = x; // 右边的 i 点匹配上左边的 x 点return true;}}return false;
}
int main(){cin >> n;int k;for(int i=1;i<=n;i++){cin >> k;for(int j=1;j<=k;j++){cin >> v;eg[i].push_back(v);}}for(int i=1;i<=n;i++){memset(vis,false,sizeof(vis));if(dfs(i,i)){cnt++;}}if(cnt == n)cout << "Yes";else cout << "No\n" << n - cnt;return 0;
}
相关文章:
【每日一题】【二分图最大匹配】【经典板子题】有大家喜欢的零食吗 河南萌新联赛2024第(一)场:河南农业大学 C题 C++
河南萌新联赛2024第(一)场:河南农业大学 C题 有大家喜欢的零食吗 题目描述 在某幼儿园中共有 n n n个小朋友,该幼儿园的老师为这 n n n 个小朋友准备了 n n n 份不一样的零食大礼包。每个小朋友只能选择一个,但老…...
【python】OpenCV—Image Colorization
文章目录 1、CIELAB 色彩空间2、作色问题定义3、Caffe 模型4、代码实现——Image5、代码实现——Video6、参考 1、CIELAB 色彩空间 Lab颜色空间,也称为Lab色彩空间或CIELAB色彩空间,是一种基于人类视觉感知特性的颜色模型。它是在1931年国际照明委员会&…...
vue 学习笔记
模板语法 1. 插值语法 用于解析标签体内容 { { 表达式 } } ,可以直接读取到 data 中的所有属性 2. 指令语法 解析标签(标签属性, 标签内容, 绑定事件) v-bind : href " url " 或 : href &…...
武汉流星汇聚:‘中国制造’闪耀欧洲站,体育赛事成亚马逊增长点
随着2024年的欧洲体育赛事激情四溢,欧洲杯与奥运会的双重盛会不仅点燃了全球体育迷的热情,更为亚马逊欧洲站带来了前所未有的发展机遇。在这场体育盛宴的推动下,欧洲站正展现出其无限的发展潜力和广阔的市场前景,为中国卖家乃至全…...
RPA是什么?探讨RPA发展的最新趋势 | RPA研究
随着人工智能和自动化技术的飞速发展,机器人流程自动化(Robotic Process Automation,简称RPA)正逐渐成为企业数字化转型的关键工具。RPA通过模拟人类用户的操作行为,自动化执行重复性高、规则性强的任务,从…...
sqlalchemy时间范围查询
1、sqlalchemy时间范围查询 在 SQLAlchemy 中,进行时间范围查询可以通过比较日期或时间字段来实现。假设你有一个模型 Event,它包含一个 timestamp 字段,你想查询在某个时间范围内的所有事件。以下是如何使用 SQLAlchemy 来实现这个查询的示例。 首先,确保你有 SQLAlchem…...
电脑不小心删除的文件怎么恢复?教你文件恢复的绝招
在日常使用电脑的过程中,我们有时会因为误操作或不小心而删除了重要的文件。面对这种情况,很多人可能会感到焦虑和无助。但其实,通过一些专业的方法和工具,我们有可能恢复这些被误删的文件。本文将介绍两种常见的恢复方法…...
stm32:使用和学习--硬件和程序
一硬件 1. GPIO 1.FT, TT功能 ft:five tolerate tt:three tolerate 1. FT(Five-Volt Tolerant)引脚 FT 引脚能够容忍高于 VDD 的输入电压(例如 5V)。这些引脚通常不具有连接到 VDD 的保护二极管&…...
ARM知识点二
一、指令 指令的生成过程 指令执行过程示例 if (a 0) {x 0; } else {x x 3; } //翻译为 cmp r0,#0 MOVEQ R1,#0 ADDGT R1,R1,#3指令获取:从Flash中读取 CMP R0, #0,控制器开始执行。 指令解码:解码器解析 CMP 指令,ALU比较R…...
C# ?的使用
栏目总目录 可空类型标记符(?) 说明: 可空类型标记符?用于指示某个值类型(如int、float等)可以为null。这是C# 2.0引入的一个特性,用于处理数据库查询、JSON解析等场景中可能出现的空值。 示例代码&am…...
【unity小技巧】unity性能优化以及如何进行性能测试
文章目录 前言GPU性能优化打包素材 CPU性能优化代码执行优化 性能测试Vector2.Distance 和 sqrMagnitude哪个好?动画切换优化shader属性优化 URP渲染器资产优化对象池优化删除没必要的空函数图片、音乐音效、贴图等素材压缩ScriptableObject优化参数参考完结 前言 …...
算法参考改进点/知识点
1、clip文章中改进点 图像编码器image encoder: 将全局平均池化层替换为注意力池化机制。注意力池化机制:通过一个单层的“transformer式”多头QKV注意力,其中查询query是基于图像的全局平均池表示。改进VIT(Vision Transformer…...
electron 配置、打包 -报错解决
目录 一、配置途中遇到的问题: 二、 make 配置好后开始打包 三、Electron-builder 打包报错 一、配置途中遇到的问题: 1. 安装 yarn add electron -D 一直卡在这里失败 一直卡可以使用下面这个,然后再重新装依赖 1. 采用新的镜像地址 npm …...
基于STM32设计的智能鱼缸(华为云IOT)(200)
文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】设计实现的功能【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】ESP8266工作模式配置【3】自动换水原理1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献1.4 开发工具的选择【1】设备端开发【2】上位…...
Django与数据库
目录 创建项目app 路由子表 数据库 创建数据库 什么是ORM 定义数据库表 Django Admin 管理数据 过滤条件 代码直接生成HTML 使用模板 前后端分离架构 对资源的增删改查处理 列出客户 添加客户 临时取消 CSRF 校验 修改客户信息 删除客户 Django中ORM的处理 数据模…...
大数据系列之:CentOS7安装R详细步骤
大数据系列之:CentOS7安装R详细步骤 一、下载R二、解压R三、创建安装目录四、指定安装目录五、安装编译依赖六、编译与编译安装七、设置环境变量八、激活环境变量九、执行R命令十、执行demo测试程序 一、下载R wget https://cran.r-project.org/src/base/R-4/R-4.4…...
Linux学习第57天:Linux PWM驱动实验
Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 本章的思维导图如下: 一、PWM驱动简析 1、设备树下的PWM控制节点 8 路 PWM 都属于 I.MX6ULL 的 AIPS-1 域,分为了两部分, PWM1~P…...
git 远程拉取指定文件
指定操作 git init 创建一个空的文件 git remote add orgin 远程仓库地址链接 表示添加远程库的地址 git config core.sparsecheckout true 打开sparsecheckout功能 注意:如果需要分支内所有文件,这个指令可以直接过忽略,则会拉取对应分支所有的文件…...
【css】 CSS3+JS做一个酷炫的仪表进度条3d进度条
创建一个动态进度环组件 在现代网页设计中,进度环是一种常见的视觉元素,用于展示任务的完成度或加载状态。本文将介绍如何使用Vue.js和Less创建一个动态进度环组件,该组件不仅具有美观的视觉效果,还能够根据用户输入动态改变颜色…...
uniapp小程序全局配置分享到朋友和朋友圈功能的实现
文章目录 1.创建/mixins/share.js插件2.全局配置3.编写share.js4.调用5.分享成功 1.创建/mixins/share.js插件 直接创建 2.全局配置 (1)找到main.js在下面引入share.js文件 (2)使用mixins混入vue中,这样就相当于在每一…...
Z-Image-Turbo-rinaiqiao-huiyewunv 模型微调实战:使用自定义数据集训练专属风格
Z-Image-Turbo-rinaiqiao-huiyewunv 模型微调实战:使用自定义数据集训练专属风格 想不想让AI画出专属于你的独特风格?比如,你是一位插画师,希望AI能学会你笔下那种温暖治愈的线条;或者你经营一个品牌,需要…...
YOLOv8实战:Anchor-Free与Anchor-Based到底怎么选?附完整对比实验代码
YOLOv8技术选型指南:Anchor-Free与Anchor-Based深度对比与实战决策 在目标检测领域的技术选型过程中,工程师们常常面临一个关键抉择:是采用传统的Anchor-Based方法,还是转向新兴的Anchor-Free架构?这个看似简单的选择背…...
Ryzen平台硬件调试终极指南:从问题诊断到系统优化的实战路径
Ryzen平台硬件调试终极指南:从问题诊断到系统优化的实战路径 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: http…...
MOOTDX:Python通达信数据接口解决方案
MOOTDX:Python通达信数据接口解决方案 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 在量化投资领域,数据获取与处理始终是从业者面临的核心挑战。个人投资者常常困于复杂…...
3分钟免费制作AI视频:零基础也能成为数字导演
3分钟免费制作AI视频:零基础也能成为数字导演 【免费下载链接】auto-video-generateor 自动视频生成器,给定主题,自动生成解说视频。用户输入主题文字,系统调用大语言模型生成故事或解说的文字,然后进一步调用语音合成…...
Qwen3-Reranker-0.6B实战:一键部署,轻松提升企业知识库检索准确率
Qwen3-Reranker-0.6B实战:一键部署,轻松提升企业知识库检索准确率 1. 为什么企业需要专业级重排序技术? 在当今信息爆炸的时代,企业知识库的规模正以惊人的速度增长。传统的关键词匹配检索方式已经无法满足精准获取知识的需求。…...
OpCore-Simplify:让黑苹果配置从专业难题变为点击操作,3步完成自动化EFI构建
OpCore-Simplify:让黑苹果配置从专业难题变为点击操作,3步完成自动化EFI构建 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 你…...
Java毕业设计基于springboot+vue的旧时光咖啡厅管理系统
前言 该系统旨在提高咖啡厅的运营效率和服务质量,通过集成订单管理、库存管理、员工管理、客户管理等多个功能模块,实现对咖啡厅日常运营的全面管理。同时,系统还提供了丰富的数据分析和报表功能,帮助管理者更好地了解咖啡厅的运营…...
Tiled2Unity:解决Tiled地图与Unity引擎无缝集成的自动化转换方案
Tiled2Unity:解决Tiled地图与Unity引擎无缝集成的自动化转换方案 【免费下载链接】Tiled2Unity Export Tiled Map Editor (TMX) files into Unity 项目地址: https://gitcode.com/gh_mirrors/ti/Tiled2Unity Tiled2Unity是一款开源工具,核心功能是…...
基于STM32G431的IF强拖+双DQ空间切换代码及流程详解
基于stm32g431的if强拖 双dq空间切换代码,有论文支持,主要包含以下流程: 1、转子预定位; 2、升速阶段; 3、恒速阶段; 4、iq下降阶段,准备切入闭环; 代码配置部分由cube生成…...
