当前位置: 首页 > news >正文

问题 H: 棋盘游戏(二分图变式)

 题意:要求找到

不放车就无法达到最大数的点                     的个数

题解:1.以行列绘制二分图

           2.先算出最大二分匹配数

           3.依次遍历所有边

  删除该边,并计算二分匹配最大值

(若小于原最大值即为重要点),再恢复该边

以下为AC代码:

#include<string.h>
#include<iostream>
using namespace std;// 声明棋盘
int map[109][109] = { 0 };// 限制访问
int visit[109] = { 0 };// 右侧对象数组
int r[109] = { 0 };// 声明棋盘行列,棋子个数
int line = 0, row = 0, num = 0;// 二分匹配
bool find(int x);// 求最大匹配数
int max1();// 遍历删除并恢复所有边,求影响最大二分匹配的边
int max2();// 声明最大二分匹配数
int ans = 0;// 记录各边左右端点对应的下标
int k = 0;
int main()
{// 声明棋盘编号int n = 1;while (scanf("%d%d%d", &line, &row, &num) != EOF){memset(map, 0, sizeof(map));for (int i = 0; i < num; i++){int tl = 0, tr = 0;scanf("%d %d", &tl, &tr);map[tl][tr] = 1;}ans = max1();printf("Board %d have %d important blanks for %d chessmen.\n", n, max2(), max1());n++;}return 0;
}
// 二分匹配
bool find(int x)
{// 遍历右侧元素for (int i = 1; i <= row; i++){// 判断有无边,是否被访问if (map[x][i] && !visit[i]){visit[i] = 1;if (!r[i] || find(r[i])){r[i] = x;return 1;}}}return 0;
}
// 求最大匹配数
int max1()
{int ans1 = 0;memset(r, 0, sizeof(r));for (int i = 1; i <= line; i++){memset(visit, 0, sizeof(visit));if (find(i))ans1++;}return ans1;
}
// 遍历删除并恢复所有边,求影响最大二分匹配的边
int max2()
{int tans = 0, point = 0;for (int j = 1; j <= line; j++){for (int i = 1; i <= row; i++){if (map[j][i]){tans = 0;map[j][i] = 0;tans = max1();map[j][i] = 1;if (tans < ans) point++;}}}return point;
}

相关文章:

问题 H: 棋盘游戏(二分图变式)

题意&#xff1a;要求找到 不放车就无法达到最大数的点 的个数 题解&#xff1a;1.以行列绘制二分图 2.先算出最大二分匹配数 3.依次遍历所有边 删除该边&#xff0c;并计算二分匹配最大值 &#xff08;若小于原最大值即为重要点&#xff09;&#xff0…...

SQL 主从数据库实时备份

在SQL数据库中&#xff0c;主从复制&#xff08;Master-Slave Replication&#xff09;是一种常见的实时备份和高可用性解决方案。这种配置允许将一个数据库服务器&#xff08;主服务器&#xff09;的更改同步到一个或多个其他数据库服务器&#xff08;从服务器&#xff09;&am…...

C/C++:在#define中使用参数

文章目录 在#define中使用参数参考资料 在#define中使用参数 在#define中使用参数可以创建外形和作用与函数类似的类函数宏。带有 参数的宏看上去很像函数&#xff0c;因为这样的宏也使用圆括号。类函数宏定义的圆 括号中可以有一个或多个参数&#xff0c;随后这些参数出现在替…...

Hive 查询优化

Hive 查询优化 -- 本地 set mapreduce.framework.namelocal; set hive.exec.mode.local.autotrue; set mapperd.job.trackerlocal; -- yarn set mapreduce.framework.nameyarn; set hive.exec.mode.local.autofalse; set mapperd.job.trackeryarn-- 向量模式 set hive.vectori…...

【Java 进阶篇】JQuery 案例:优雅的隔行换色

在前端的设计中&#xff0c;页面的美观性是至关重要的。而其中一个简单而实用的设计技巧就是隔行换色。通过巧妙地使用 JQuery&#xff0c;我们可以轻松地实现这一效果&#xff0c;为网页增添一份优雅。本篇博客将详细解析 JQuery 隔行换色的实现原理和应用场景&#xff0c;让我…...

Redis 常用的类型和 API

前言 在当今的软件开发中&#xff0c;数据存储与操作是至关重要的一部分。为了满足日益增长的数据需求和对性能的追求&#xff0c;出现了许多不同类型的数据库。其中&#xff0c;Redis 作为一种基于内存且高性能的键值存储数据库&#xff0c;因其快速的读取速度、丰富的数据结…...

在qt的设计师界面没有QVTKOpenGLWidget这个类,只有QOpenGLWidget,那么我们如何得到QVTKOpenGLWidget呢?

文章目录 前言不过,时过境迁,QVTKOpenGLWidget用的越来越少,官方推荐使用qvtkopengnativewidget代替QVTKOpenGLWidget 前言 在qt的设计师界面没有QVTKOpenGLWidget这个类,只有QOpenGLWidget,我们要使用QVTKOpenGLWidget,那么我们如何得到QVTKOpenGLWidget呢? 不过,时过境迁,Q…...

力扣每日一道系列 --- LeetCode 138. 随机链表的复制

&#x1f4f7; 江池俊&#xff1a; 个人主页 &#x1f525;个人专栏&#xff1a; ✅数据结构探索 ✅LeetCode每日一道 &#x1f305; 有航道的人&#xff0c;再渺小也不会迷途。 LeetCode 138. 随机链表的复制 给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加…...

无人零售:创新优势与广阔前景

无人零售&#xff1a;创新优势与广阔前景 无人零售在创新方面具有优势。相比发展较为成熟的欧洲和日本的自动贩卖机市场&#xff0c;中国的无人零售市场人均占有量较少&#xff0c;这表明该市场具有广阔的前景和巨大的市场潜力。 此外&#xff0c;无人零售涉及到许多相关行业&…...

【华为OD题库-022】阿里巴巴找黄金宝箱(IV)-java

题目 一贫如洗的椎夫阿里巴巴在去砍柴的路上&#xff0c;无意中发现了强盗集团的藏宝地&#xff0c;藏宝地有编号从0-N的子&#xff0c;每个箱子上面有一个数字&#xff0c;箱子排列成一个环&#xff0c;编号最大的箱子的下一个是编号为0的箱子。请输出每个箱子贴的数字之后的第…...

Linux 图形界面配置RAID

目录 RAID 1 配置 RAID 5配置 , RAID 配置起来要比 LVM 方便&#xff0c;因为它不像 LVM 那样分了物理卷、卷组和逻辑卷三层&#xff0c;而且每层都需要配置。我们在图形安装界面中配置 RAID 1和 RAID 5&#xff0c;先来看看 RAID 1 的配置方法。 RAID 1 配置 配置 RAID 1…...

(脏读,不可重复读,幻读 ,mysql5.7以后默认隔离级别)、( 什么是qps,tps,并发量,pv,uv)、(什么是接口幂等性问题,如何解决?)

1 脏读&#xff0c;不可重复读&#xff0c;幻读 &#xff0c;mysql5.7以后默认隔离级别是什么&#xff1f; 2 什么是qps&#xff0c;tps&#xff0c;并发量&#xff0c;pv&#xff0c;uv 3 什么是接口幂等性问题&#xff0c;如何解决&#xff1f; 1 脏读&#xff0c;不可重复读…...

安全通信网络(设备和技术注解)

网络安全等级保护相关标准参考《GB/T 22239-2019 网络安全等级保护基本要求》和《GB/T 28448-2019 网络安全等级保护测评要求》 密码应用安全性相关标准参考《GB/T 39786-2021 信息系统密码应用基本要求》和《GM/T 0115-2021 信息系统密码应用测评要求》 1网络架构 1.1保证网络…...

深度学习_12_softmax_图片识别优化版代码

因为图片识别很多代码都包装在d2l库里了&#xff0c;直接调用就行了 完整代码&#xff1a; import torch from torch import nn from d2l import torch as d2l"获取训练集&获取检测集" batch_size 256 train_iter, test_iter d2l.load_data_fashion_mnist(ba…...

element-ui设置下拉选择切换必填和非必填

1、<el-form-item label="区域" prop="areaCode" :required="isHaveTo"><el-select v-model="form.areaCode" placeholder="请选择区域" clearable size="small"><el-option v-for="dict in …...

Linux的命令——关于操作用户及用户组的命令

目录 1.Linux的命令格式 2.用户与用户组管理 2.1用户管理 添加用户 设置用户密码 删除用户 修改用户 2.2用户组管理 新增用户组 删除用户组 修改用户组属性 用户组切换 用户组管理 用户切换 1. su 2.sudo 1.Linux的命令格式 Linux系统中几乎所有操作&#xff0…...

pycharm 设置多级跳转SSH

打开本地终端并运行: ssh -L <local_port>:<target_server_ip>:22 <proxy_server_user><proxy_server_ip>运行完之后就应该已经连接上proxy (Optional) 可以再开一个终端测试一下&#xff1a; ssh -p <local_port> <target_server_user&g…...

LeetCode 189.轮转数组(三种方法解决)

文章目录 题目暴力求解空间换时间三段逆置总结 题目 LeetCode 189.轮转数组 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5…...

GB28181设备对接视频流的流程

搭建CG28181 服务端&#xff0c;也即 SIP Server&#xff0c;这正是我们要实现的。实现CG28181服务端可以借助于现有的开源库 PJSIP&#xff0c;具体的实现步骤如下&#xff1a; 1、启动GB28181服务端&#xff0c;接收客户端消息请求 bool Init(std::string concat, int logL…...

类属性修改(为什么python类不具备被赋值能力?)

为什么python类不具备被赋值能力&#xff1f;&#xff0c;用魔术方法收集实参&#xff0c;在类中可以定义方法处理实际参数&#xff0c;实现对类“赋值”。 (笔记模板由python脚本于2023年11月15日 12:45:27创建&#xff0c;本篇笔记适合初通Python类class的coder翻阅) 【学习的…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下&#xff1a; struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板&#xff08;STM32F103RBT6&#xff09;通过I2C驱动ICM20948九轴传感器&#xff0c;实现姿态解算&#xff0c;并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化&#xff0c;适合嵌入式及物联网开发者。在基础驱动上新增…...

ZYNQ学习记录FPGA(一)ZYNQ简介

一、知识准备 1.一些术语,缩写和概念&#xff1a; 1&#xff09;ZYNQ全称&#xff1a;ZYNQ7000 All Pgrammable SoC 2&#xff09;SoC:system on chips(片上系统)&#xff0c;对比集成电路的SoB&#xff08;system on board&#xff09; 3&#xff09;ARM&#xff1a;处理器…...

boost::filesystem::path文件路径使用详解和示例

boost::filesystem::path 是 Boost 库中用于跨平台操作文件路径的类&#xff0c;封装了路径的拼接、分割、提取、判断等常用功能。下面是对它的使用详解&#xff0c;包括常用接口与完整示例。 1. 引入头文件与命名空间 #include <boost/filesystem.hpp> namespace fs b…...