【洛谷】P10938 Vani和Cl2捉迷藏 的题解
【洛谷】P10938 Vani和Cl2捉迷藏 的题解
洛谷传送门
题解
噢噢噢噢哦哦哦,神奇网络流,有点像 Floyd
在图上选取若干条互不相交的路径,并让这些路径不重不漏覆盖到每一个点。符合上述要求且总数最小的方案就叫做原图的最小路径点覆盖,图中每个节点均只被覆盖一次。而最小重复路径点覆盖则是允许选取的路径相交,即某个点至少被覆盖一次。
在二分图中,最小路径点覆盖的路径条数等于总点数减去最大匹配数;最小路径重复点覆盖的数量则需要先求传递闭包(有点类似 Floyd),再计算最小路径点覆盖得出答案,输出即可。
代码
#include <bits/stdc++.h>
#define lowbit(x) x & (-x)
#define endl "\n"
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
namespace fastIO {inline int read() {register int x = 0, f = 1;register char c = getchar();while (c < '0' || c > '9') {if(c == '-') f = -1;c = getchar();}while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();return x * f;}inline void write(int x) {if(x < 0) putchar('-'), x = -x;if(x > 9) write(x / 10);putchar(x % 10 + '0');return;}
}
using namespace fastIO;
bool cl[225][225], vis[225];
int match[225], n, m;
bool dfs(int x) {for(int i = 1; i <= n; i ++) {if(cl[x][i] && !vis[i]) {vis[i] = true;if(!match[i] || dfs(match[i])) {match[i] = x;return true;}}}return false;
}
int main() {//freopen(".in","r",stdin);//freopen(".out","w",stdout);ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);n = read(), m = read();for(int i = 1; i <= m; i ++) {int x = read(), y = read();cl[x][y] = 1;}for(int i = 1; i <= n; i ++) {cl[i][i] = 1;}for(int k = 1; k <= n; k ++) {for(int i = 1; i <= n; i ++) {for(int j = 1; j <= n; j ++) {cl[i][j] |= cl[i][k] && cl[k][j];}}}for(int i = 1; i <= n; i ++) {cl[i][i] = 0;}int ans = n;for(int i = 1; i <= n ; i ++) {memset(vis, 0, sizeof(vis));ans -= dfs(i);}write(ans);return 0;
}
相关文章:
【洛谷】P10938 Vani和Cl2捉迷藏 的题解
【洛谷】P10938 Vani和Cl2捉迷藏 的题解 洛谷传送门 题解 噢噢噢噢哦哦哦,神奇网络流,有点像 Floyd 在图上选取若干条互不相交的路径,并让这些路径不重不漏覆盖到每一个点。符合上述要求且总数最小的方案就叫做原图的最小路径点覆盖&…...

三角形面积 python
题目: 计算三角形面积 代码: a int(input("请输入三角形的第一个边长:")) b int(input("请输入三角形的第二个边长:")) c int(input("请输入三角形的第三个边长:")) s (abc) / 2 #…...

【C++第十七章】二叉搜索树
【C第十七章】二叉搜索树 二叉搜索树的介绍🧐 二叉搜索树又称二叉排序树,它可能是空树,也可能是具有以下性质的二叉树: 若它的左子树不为空,则左子树上的所有节点的值小于根节点的值若它的右子树不为空,则…...
Springboot 文件上传
文件上传,是指将本地图片、视频、音频等文件上传到服务器,供其他用户浏览或下载的过程。 文件上传前端需要完成的准备: 需要提交一个form表单,表单必须包含以下三点(上传文件页面三要素) …...
简单认识redis-5 jdbc 与 jedis 使用的区别
概念与功能定位 JDBC (Java Database Connectivity) JDBC 是 Java 语言用于连接数据库(如 MySQL、Oracle 等关系型数据库)的标准 API。它提供了一套统一的接口,让 Java 程序能够与各种数据库进行交互,执行 SQL 语句(如…...

Unity3d动画插件DoTween使用指南
1、DoTween是什么? DoTween是一款对象动画类插件,它是一款针对Unity 3D编辑器的、快速高效的、安全的、面向对象的补间动画引擎,并且对C#语言开发做出了很多的优化。另外,它使得开发者无需通过Unity内置的Animator或Coroutines即可…...
学习函数知识
学习函数是编程中的重要基础,以下是关于函数的详细知识点: 1. 函数的定义 函数是一组执行特定任务的代码块,可以重复使用。在 JavaScript 中,可以通过以下方式定义函数: 函数声明: function functionNam…...

案例-表白墙简单实现
文章目录 效果展示初始画面提交内容后画面(按键按下) 代码区 效果展示 初始画面 提交内容后画面(按键按下) 代码区 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">…...

和鲸科技创始人范向伟:拐点即将来临,AI产业当前的三个瓶颈
在科技迅猛发展的时代,人工智能(AI)无疑已经成为引领新一轮产业革命的核心动力之一。全球企业纷纷拥抱AI技术,试图借助其变革力量在竞争中突围,然而业界对AI产业化的拐点何时来临却众说纷纭。毕竟AI技术从实验室到商业…...

基于函数计算FC 部署 ComfyUI实现AI生图 的优势
基于函数计算FC 部署 ComfyUI实现AI生图 的优势 部署ComfyUI实现AI生图使用函数计算FC 一键部署ComfyUI 绘画平台的优势有哪些? 在文章开始之前,先来看一下基于函数计算FC 部署 ComfyUI实现AI生图 的大概步骤,整个基础部署操作比较简单。即便…...

瑞萨IDE:CS+ for CC编译过程中执行脚本文件
最近发现使用CS for CC IDE发现一个很有意思的功能。编译工程过程中,IDE自动执行Python脚本和批处理脚本,极大地提高开发效率。 编写好脚本文件后,在IDE中选择CC-RH(Build Tool)->Common Options->Others。 Co…...
在 CentOS 上安装 Docker 的步骤
在 CentOS 上安装 Docker 的步骤如下: 步骤 1:更新系统包 sudo yum update -y步骤 2:安装依赖包 确保安装了 yum-utils、device-mapper-persistent-data 和 lvm2,这些是 Docker 运行所需的依赖项: sudo yum instal…...
【C#生态园】探索地理信息系统软件套件与库:功能、API和应用
探索地理信息系统:软件套件与库详解 前言 地理信息系统(GIS)是当今世界上广泛使用的技术之一,它以空间数据为基础,能够提供丰富的地理信息分析和可视化功能。在GIS领域,有许多优秀的软件套件和库…...

Jupyter的使用分享
文章目录 碎碎念安装方法1.安装Anaconda方法2.通过库的安装方式 启动使用教程1.指定目录打开2.启动后的简单使用 小结 碎碎念 前情提示 之前与许多小伙伴交流的时候,发现大家对于pycharm更容易上手(可能是比较好设置中文的原因),在…...

24龙信比赛复现
案情简介: 近期,某公安机关接到受害人报案:通过微信添加认识一位相亲中介客服,客服邀约其与“相亲”对象进行选妃,受害人上钩后,整个过程被涉案团伙录音录像,同时,该客服以有更多的…...
PHP反射机制
HP反射机制是PHP语言中的一个强大特性,它允许程序在运行时检查、获取和操作类、方法、属性等元素的信息。这一机制极大地提高了PHP代码的灵活性和可维护性,使得开发者能够在不修改原有代码结构的情况下,动态地了解并操作代码。以下是对PHP反射…...

使用阿里云试用资源快速部署web应用-dofaker为例
本文介绍使用阿里云的试用资源部署dofaker的方法,本教程主要作学习在阿里云部署web应用之用,部署好应用之后,可以在任何地点通过公网ip访问web应用。 一、创建云主机 登录阿里云账户之后,点击控制台: 点击云服务器EC…...

需求11——解决字段无法清空的两个小bug
目录 背景 第一个小bug——问题阐述 第一个小bug——解决方案 第二个小bug——问题阐述 第二个小bug——解决方案 总结 背景 已经写了一个上午的文章了,写完这篇就可以去吃饭了。这也是这几个月的我写的最后一个小bug文章,把这篇文章写完就搞定了…...
mysql学习教程,从入门到精通,SQL 创建索引(CREATE INDEX 语句)(35)
1、SQL 创建索引(CREATE INDEX 语句) 在SQL中,创建索引(CREATE INDEX)是一种用于提高数据库查询性能的方法。索引类似于书的目录,通过它可以更快地定位到表中的特定行。以下是一个创建索引的示例,以及对其各部分的解释…...

Pikachu-Cross-Site Scripting-DOM型xss_x
查看代码,输入的内容,通过get请求方式,用text 参数带过去; 获取text内容,赋值给xss 然后拼接到 dom 里;构造payload的关键语句: <a href"xss">就让往事都随风,都随风吧</a&…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...

IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...
绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化
iOS 应用的发布流程一直是开发链路中最“苹果味”的环节:强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说,这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发(例如 Flutter、React Na…...

如何在Windows本机安装Python并确保与Python.NET兼容
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...