笔试专题(十三)

文章目录

  • kotori和气球
    • 题解
    • 代码
  • 走迷宫
    • 题解
    • 代码
  • 主持人调度(二)(难题)
    • 题解
    • 代码

在这里插入图片描述

kotori和气球

题目链接
在这里插入图片描述

题解

1. 数学-排列组合
2. 每次乘完之后对109取模

在这里插入图片描述

代码

#include<iostream>using namespace std;int main()
{int n,m;cin >> n >> m;int ans = n;int k = m - 1;while(k--){ans *= (n-1);// 每次乘完之后对109取模ans %= 109;}cout << ans << '\n';return 0;
}

走迷宫

题目链接
在这里插入图片描述

题解

1. bfs其实都是一个模版

在这里插入图片描述

代码

#include <iostream>
#include<cstring>
#include<queue>
using namespace std;int n,m;
int x1,y1,x2,y2;
const int N = 1010;
char arr[N][N];
int vis[N][N];// 既表示当前点的步数又表示当前点是否已经走过了int dx[4] = {-1,1,0,0};
int dy[4] = {0,0,-1,1};int bfs()
{// 没有终点,终点是墙if(arr[x2][y2] == '*') return -1;// 没有走过的点初始都是-1memset(vis,-1,sizeof(vis));queue<pair<int,int>> q;q.push({x1,y1});// 起点入队vis[x1][y1] = 0;while(q.size()){auto[a,b] = q.front();// 结构化绑定,把pair的first赋给a,second赋给bq.pop();for(int i = 0;i < 4;i++){int x = a + dx[i],y = b + dy[i];if(arr[x][y] == '.' && x >= 1 && x <= n && y >= 1 && y <= m &&vis[x][y] == -1){q.push({x,y});vis[x][y] = vis[a][b] + 1;// 如果已经搜到了返回这个点if(x2 == x && y2 == y) return vis[x][y];} }}return -1;
}
int main()
{cin >> n >> m;cin >> x1 >> y1 >> x2 >> y2;for(int i = 1;i <= n;i++){for(int j = 1;j <= m;j++){cin >> arr[i][j];}}cout << bfs() << '\n';return 0;
}

主持人调度(二)(难题)

题目链接
在这里插入图片描述

题解

1. 优先级队列,小根堆+排序
2. 先把区间按照左端点排序,左端点排序后可以确保当前是该活动是最早开始的,如果不排序就有活动可能错误地加上主持人
3. 然后先把第一个端点加入堆中,从第二个点比较,第二个点的左端点如果比第一个点的右端点大就可以更新堆,把第二个点的右端点入堆,不需要加新的主持人,否则有重叠部分,第二个点的左端点跟最小的右端点比都小,就要新加入主持人,入堆

在这里插入图片描述

代码

class Solution 
{
public:int minmumNumberOfHost(int n, vector<vector<int>>& startEnd){sort(startEnd.begin(),startEnd.end());priority_queue<int,vector<int>,greater<int>> pq;// 小根堆pq.push(startEnd[0][1]);for(int i = 1;i < n;i++){if(startEnd[i][0] >= pq.top()){pq.pop();pq.push(startEnd[i][1]);}else{pq.push(startEnd[i][1]);}}return pq.size();}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/78062.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/78062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图形图像基础知识(1)---- RGB/YUV 颜色格式

目录 常见RAW颜色格式RGB类型YUV类型YUV类型汇总YUV444类型YUV422类型YUV420类型 参考实例 常见RAW颜色格式 RGB 类型&#xff1a; ARGB1010102&#xff0c;ABGR1010102&#xff0c;BGRA1010102&#xff0c;RGBA1010102 ARGB8888&#xff0c;ABGR8888&#xff0c;BGRA8888&…

CentOS7.9安装OpenSSL 1.1.1t和OpenSSH9.9p1

一、临时开启telnet登录方式&#xff0c;避免升级失败无法登录系统 &#xff08;注意telnet登录方式存在安全隐患&#xff0c;升级openssh相关服务后要记得关闭&#xff09; 1.安装telnet服务 yum -y install xinetd telnet* 2.允许root用户通过telnet登陆&#xff0c;编辑…

使用DCI和RTIT技术进行精准调优--看录像

使用DCI和RTIT技术进行精准调优_哔哩哔哩_bilibili 每次看录像都记录一下。 PT/RTIT简介 DCI技术即通过USB3.0接口去访问调试目标机的JTAG组件&#xff0c;凡是运行在CPU上的代码均可以进行调试&#xff0c;这就没有了使用WinDBG调试时&#xff0c;会出现的不能调试敏感代码…

从MCP基础到FastMCP实战应用

MCP(https://github.com/modelcontextprotocol) MCP&#xff08;模型上下文协议&#xff09; 是一种专为 基于LLM的工具调用外部工具而设计的协议 &#xff0c; 本质上是 LLM ↔ 工具之间的RPC&#xff08;远程过程调用&#xff09; 的一种安全且一致的处理方式&#xff0c; 是…

深入理解C语言中的整形提升与算术转换

深入理解C语言中的整形提升与算术转换 一.整形提升&#xff1a;概念与原理 在C语言中&#xff0c;整形提升&#xff08;Integer Promotion&#xff09;是一个重要但容易被忽视的概念。它指的是在表达式中&#xff0c;任何小于int类型的整型&#xff08;如char、short&#xf…

编程题python常用技巧-持续

1.字典 1.1排序 在Python中&#xff0c;要按照字典的值进行排序&#xff0c;可以按照以下步骤操作&#xff1a; 方法说明 ‌获取键值对列表‌&#xff1a;使用 dict.items() 获取字典的键值对视图。‌排序键值对‌&#xff1a;使用 sorted() 函数&#xff0c;并通过 key 参…

硬件工程师面试常见问题(11)

第五十一问&#xff1a;器件手册的翻译题目 要学英语啊&#xff0c;孩子。 第五十二问&#xff1a;二极管三极管常识题 1.二极管的导通电压一般是 0.7V 2.MOS管根据掺杂类型可以分为 NMOS和PMOS 3.晶体三极管在工作时,发射结和集电结均处于正向偏置,该晶体管工作在一饱和态。…

mysql 配置文件中的[client]、[mysqld]、[mysqldump]和[mysql]区块的作用区别

1. [client] 区块 作用&#xff1a; 适用于 所有 MySQL 客户端工具&#xff08;如 mysql 命令行客户端、mysqldump、mysqladmin 等&#xff09;。 常见配置项&#xff1a; [client] host 127.0.0.1 # 默认连接的服务器地址 port 3306 # 默认端口 user root …

SARSA 算法详解:python从零实现

喜欢可以订阅专栏哟 第一章 强化学习基础与核心概念 1.1 强化学习的定义与特点 强化学习(Reinforcement Learning, RL)是机器学习三大范式之一(监督学习、无监督学习、强化学习),其核心思想是通过智能体(Agent)与环境(Environment)的持续交互来学习最优策略。与监督…

(C题|社交媒体平台用户分析问题)2025年第二十二届五一数学建模竞赛(五一杯/五一赛)解题思路|完整代码论文集合

我是Tina表姐&#xff0c;毕业于中国人民大学&#xff0c;对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在&#xff0c;我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

AI重塑SEO关键词策略

内容概要 传统SEO策略主要依赖人工经验与基础工具进行关键词布局&#xff0c;存在效率低、覆盖维度单一等痛点。而AI技术的介入&#xff0c;使关键词优化从静态词库匹配转向动态语义网络构建。通过自然语言处理&#xff08;NLP&#xff09;与深度学习模型&#xff0c;AI不仅能…

【Unity】 组件库分类详解

1️⃣ Audio&#xff08;音频组件&#xff09; 用于处理游戏中的声音。 Audio Source 读音[ˈɔːdiəʊ ˈsɔːs]&#xff0c;音频源组件&#xff0c;用于播放音频文件&#xff0c;可设置音量、Pitch、循环播放等属性&#xff0c;是音频播放的核心组件。 Audio Listener 读音…

【区块链】区块链技术介绍

引言 区块链技术自2008年中本聪提出比特币概念以来&#xff0c;逐渐从加密货币的底层技术演变为一场颠覆传统信任机制的全球性革命。它不仅重塑了金融体系&#xff0c;更在物流、医疗、政务等领域展现出巨大潜力。本文将用通俗易懂的语言&#xff0c;结合实例与原理&#xff0c…

MySQL零基础入门:Ubuntu环境安装与操作精解

知识点1【数据库】 数据的存储方式&#xff0c;我们之前学的&#xff0c;从变量&#xff0c;数组&#xff0c;链表&#xff0c;最后到文件&#xff0c;文件之上&#xff0c;便是数据库&#xff0c;而我们要介绍的MySQL就是数据库的关系数据库中的其中一种。 1、数据库 本质&…

力扣——23合并升序链表

目录 1:题目描述&#xff1a; 2.算法思想&#xff1a; 3.代码展示&#xff1a; 1:题目描述&#xff1a; 给你一个链表数组&#xff0c;每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中&#xff0c;返回合并后的链表。 示例 1&#xff1a; 输入&#xff…

AI重构危化品进口清关:一场效率与安全的双重革命

在全球化工产业链深度捆绑的今天&#xff0c;每年超过3亿吨危险化学品通过中国各大口岸流入国内市场。这些支撑着新能源电池、半导体材料等战略产业的“工业血液”&#xff0c;其进口清关流程却长期困于效率与安全的两难困境&#xff1a;人工审核单据平均耗时72小时&#xff0c…

牛客网题解 | 栈的压入、弹出序列

栈的压入、弹出序列 一、题目链接二、题目三、算法原理&#xff1a;用一个栈模拟入栈出栈的过程四、编写代码 一、题目链接 栈的压入、弹出序列 二、题目 三、算法原理&#xff1a;用一个栈模拟入栈出栈的过程 思路&#xff1a;用一个栈模拟入栈出栈的过程&#xff0c;模拟出…

使用CubeMX新建DMA工程——存储器到存储器模式

目录 1、新建板级支持包 2、修改main.c 3、程序流程 4、问题 新建工程的基本操作步骤参考这里&#xff1a; 【【野火】STM32 HAL库开发实战指南 教学视频 手把手教学STM32全系列 零基础入门CubeMXHAL库&#xff0c;基于野火全系列STM32开发板】 https://www.bilibili.com/…

HTML5 新增的主要标签整理

一、语义化标签&#xff08;让网页结构更清晰&#xff09; 1. <header> 和 <footer> 定义&#xff1a;表示网页的「顶部区域」和「底部区域」。场景&#xff1a; <header>&#xff1a;放 Logo、导航栏、搜索框。<footer>&#xff1a;放版权信息、联系…

Mysql数据库高可用解决方案-Mysql Router

目录 一.MySQL Router介绍 1. 什么是 MySQL Router&#xff1f; 2. MySQL Router 的主要用途 3. MySQL Router 的工作原理 4. MySQL Router 的核心组件 5. MySQL Router 的部署和配置 6. MySQL Router 的优势 7. 注意事项 8. MySQL Router 与其他工具的对比 9. 总结 …