笔试专题(十二)

文章目录

  • 主持人调度
    • 题解
    • 代码
  • 小红的ABC
    • 题解
    • 代码
  • 不相邻取数
    • 题解
    • 代码
  • 空调遥控
    • 题解
    • 代码

主持人调度

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

题解

1. 排序
2. 先按左端点的大小进行排序,保证时间是连续的,如果后一个点的左端点大于等于前一个点的右端点就是和法的,否则就不合法

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

代码

class Solution 
{
public:bool hostschedule(vector<vector<int>>& s) {// 按照左端点排序// 这个二维的数组是按左端点排序的sort(s.begin(),s.end());// 排序为了保证时间段时连续的// 二维的vector是先按第一个元素排序,再按第二个元素排序的int k = s[0][1];int p = 0,q = 0;int n = s.size(),m = 2;for(int i = 1;i < n;i++){for(int j = 0;j < m;j++){if(j == 0) p = s[i][j];// 左端点if(j == 1) q = s[i][j];// 右端点}if(p >= k){k = q;}else {return false;}}return true;}
};

小红的ABC

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

题解

1. 找规律
2. 最短就是2或者3的情况,其他情况的子集也是2或者3

在这里插入图片描述

代码

#include<iostream>
#include<string>
using namespace std;int main()
{string s;cin >> s;int n = s.size();int ans = -1;// 没有回文子串for(int i = 0;i < n;i++){if(i + 1 < n && s[i] == s[i+1]){ans = 2;break;}if(i + 2 < n && s[i] == s[i+2]){ans = 3;}}cout << ans << '\n';return 0;
}

不相邻取数

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

题解

1. 动态规划,线性dp
2. 类似于打家劫舍问题,简单多状态,一个位置选或者不选
在这里插入图片描述

代码

#include <iostream>
#include<algorithm>
using namespace std;const int N = 2e5 + 10;
int a[N];
int f[N];
int g[N];int main()
{int n;cin >> n;for(int i = 0;i < n;i++) cin >> a[i];f[0] = a[0];for(int i = 1;i < n;i++){f[i] = a[i] + g[i-1];g[i] = max(g[i-1],f[i-1]);}cout << max(f[n-1],g[n-1]) << '\n';return 0;
}

空调遥控

题目链接

在这里插入图片描述

题解

1. 排序 + 二分
2. 先枚举温度,最小的温度到最大的温度,再写出该温度的范围是k+p和k-p是符合要求的区间,再用二分查找找到左端点的下标和右端点的下标+1即是此次温度的最多人数,最后求最多的人数
3. 滑动窗口 + 排序
温度的范围是[t - p,t + p],那么一定存在一个区间内的最大数 - 最小数 <= 2 * p,求区间的最长的长度

在这里插入图片描述

代码

// 排序 + 二分 O(n*logn + n*logn)
#include<iostream>
#include<algorithm>
using namespace std;const int N = 1e6 + 10;
int a[N];
int p,n;int main()
{cin >> n >> p;for(int i = 0;i < n;i++) cin >> a[i];// 排序 + 二分sort(a,a + n);int b = a[0],c = a[n-1];int ans = 0;// 枚举温度for(int i = b;i <= c;i++){int left = 0,right = n-1;int t1 = i + p;int t2 = i - p;int p1 = 0,p2 = 0;while(left < right){int mid = left + (right - left) / 2;if(a[mid] >= t2) right = mid;else{left = mid + 1;    }}p1 = left;left = 0,right = n - 1;while(left < right){int mid = (left + right + 1) / 2;if(a[mid] <= t1) left = mid;else right = mid - 1;}p2 = left;ans = max(ans,p2-p1 + 1);}cout << ans << '\n';return 0;
}// 滑动窗口 + 排序 O(n*logn + n)
#include<iostream>
#include<algorithm>
using namespace std;const int N = 1e6 + 10;
int a[N];int main()
{int n,p;cin >> n >> p;for(int i = 0;i < n;i++) cin >> a[i];sort(a,a+n);// 区间小于等于2pint k = 2 * p;int left = 0,right = 0;int ans = 0;while(right < n){while(a[right] - a[left] > k){left++;}if(a[right] - a[left] <= k) ans = max(ans,right - left + 1);right++;}cout << ans << '\n';return 0;
} 

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

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

相关文章

Ansible 守护 Windows 安全(Ansible Safeguards Windows Security)

Ansible 守护 Windows 安全&#xff1a;自动化基线检查与加固 在当今网络威胁日益严峻的形势下&#xff0c;保障 Windows 系统安全至关重要。Ansible 作为一款强大的自动化运维工具&#xff0c;可通过自动化脚本实现 Windows 安全基线检查和加固&#xff0c;大幅提升运维效率并…

深度解析 MyBatis`@TableField(typeHandler = JacksonTypeHandler.class)`:优雅处理复杂数据存储

一、引言&#xff1a;当Java对象遇见数据库 在现代应用开发中&#xff0c;我们经常面临一个关键问题&#xff1a;如何将复杂的Java对象&#xff08;如Map、List或自定义POJO&#xff09;优雅地存储到关系型数据库中&#xff1f;传统解决方案需要开发者手动进行序列化和反序列化…

【无标题】四色定理研究团队的构建与实施路径——跨学科建模、编程与理论拓展的全流程方案

### **四色定理研究团队的构建与实施路径** **——跨学科建模、编程与理论拓展的全流程方案** --- #### **一、团队构建与核心分工** ##### **1.1 核心角色与技能需求** | **角色** | **职责** | **技能要求** …

SQLMesh增量模型实战指南:时间范围分区

引言 在数据工程领域&#xff0c;处理大规模数据集和高频率数据更新是一项挑战。SQLMesh作为一款强大的数据编排工具&#xff0c;提供了增量模型功能&#xff0c;帮助数据工程师高效地管理和更新数据。本文将详细介绍如何使用SQLMesh创建和管理基于时间范围的增量模型&#xf…

TCP vs UDP:核心区别、握手过程与应用场景(附对比图)

&#x1f310; 引言 在网络通信中&#xff0c;TCP&#xff08;传输控制协议&#xff09;和UDP&#xff08;用户数据报协议&#xff09;是两大核心传输层协议。它们各有优劣&#xff0c;适用于不同场景。本文将用图文对比实战示例&#xff0c;帮你彻底理解两者的区别&#xff0…

STM32F103C8T6信息

STM32F103C8T6 完整参数列表 一、核心参数 内核架构‌ ARM Cortex-M3 32位RISC处理器 最大主频&#xff1a;72 MHz&#xff08;基于APB总线时钟&#xff09; 运算性能&#xff1a;1.25 DMIPS/MHz&#xff08;Dhrystone 2.1基准&#xff09; 总线与存储‌ 总线宽度&#xff…

WPF-遵循MVVM框架创建图表的显示【保姆级】

文章速览 1、技术栈实现步骤1、创建WPF工程项目2、引入框架 Caliburn.Micro、数据可视化库ScottPlot.WPF3、创建文件夹&#xff0c;并创建相应的View & ViewModel4、创建启动类5、将启动类设置为启动项6、编写View7、编写VM8、将VM和View中的图表进行绑定9、备注 示例效果 …

kafka理论学习汇总

基础知识 基本简介 Kafka 是一个分布式流式处理平台&#xff0c;是一种分布式的&#xff0c;基于发布/订阅的消息系统。 Kafka特点&#xff1a; 1. 同时为发布和订阅提供高吞吐量 Kafka 的设计目标是以时间复杂度为 O(1) 的方式提供消息持久化能力&#xff0c;即使对 TB 级以…

【亚马逊云】AWS Wavelength 从理论讲解到实验演练

&#x1faaa; 本文作者&#xff1a;许业宝 ✍️ 作者信息&#xff1a; &#x1f31e; VSTECS 云解决方案架构师 &#xff5c; AWS Ambassador &#xff5c; &#x1faaa; AWS Community Builder | 亚马逊云科技技能云博主 ⭐ 已获六项 AWS 认证 | CKA、CKS认证 &#xff5c; …

ORACLE DATAGUARD遇到GAP增量恢复方式修复RAC环境备机的实践

ORACLE DATAGUARD技术是一个常用的数据保护机制&#xff0c;在DATAGUARD运行过程中&#xff0c;遇到异常导致备机不同步&#xff0c;而主库的归档日志也被清理&#xff0c;此时出现GAP&#xff0c;无法同步&#xff1b;就需要人工处理&#xff1b;对于小型数据库重新全量同步数…

Java24 抗量子加密:后量子时代的安全基石

一、量子计算威胁与 Java 的应对 随着量子计算机的快速发展&#xff0c;传统加密算法面临前所未有的挑战。Shor 算法可在多项式时间内破解 RSA、ECC 等公钥加密体系&#xff0c;而 Grover 算法能将对称加密的暴力破解效率提升至平方根级别。据 NIST 预测&#xff0c;具备实用价…

day005

文章目录 1. Linux系统核心文件1.1 查看系统版本信息1.1.1 /etc/os-release1.1.2 hostnamectl 1.2 查看主机名并修改1.2.1 hostname1.2.2 cat /etc/hostname1.2.3 hostnamectl 1.3 查看Linux内核版本1.3.1 uname -r1.3.2 hostnamectl 1.4 查看网卡信息并修改1.4.1 nmtui 网络管…

常用财务分析指标列表

财务分析指标是企业财务管理和决策的重要工具&#xff0c;不同需求人群在各自的场景中运用这些指标来做出决策。企业管理者需要通过财务分析指标来评估企业经营状况、制定战略和决策&#xff1b;投资者利用这些指标来评估投资价值和风险&#xff1b;债权人通过财务分析指标来评…

删除非今天日期文件夹--批处理脚本

echo off setlocal enabledelayedexpansion REM ----- 配置部分 ----- set “target_dirK:\360downloads\Software” set “log_file%temp%\delete_folders.log” REM ----- 管理员权限检查 ----- NET FILE >NUL 2>&1 || ( echo 需要以管理员权限运行&#xff01; …

QT创建软件登录界面(14)

文章目录 一、本章说明二、登录界面设计2.1 添加登录窗口2.2 设置登录窗口布局2.3 主函数中创建登录窗口对象2.4 登录窗口头文件与c文件2.5 源文件添加三、注意四、源码项目文件一、本章说明 注:本节为【基于STM的环境监测系统(节点+云服务器存储+QT界面设计)】项目第14篇文…

小天互连即时通讯音视频功能

小天互连即时通讯的音视频功能是核心功能及优势之一&#xff0c;小天互连即时通讯采用先进的音视频编解码技术&#xff0c;即使在网络环境不好的情况下&#xff0c;也能智能优化保证会议稳定进行。因此可以让远程开会也变得和面对面交流一样的便捷&#xff0c;极大地提升了沟通…

【LInux网络】数据链路层 - 深度理解以太网和APR协议

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;博客仓库&#xff1a;https://gitee.com/JohnKingW/linux_test/tree/master/lesson &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &…

【零基础入门】ASP.NET Core快速搭建第一个Web应用

一、为什么选择ASP.NET Core&#xff1f; 跨平台支持&#xff1a;可在Windows/macOS/Linux系统运行 高性能&#xff1a;比传统ASP.NET框架快10倍以上 开源生态&#xff1a;活跃的开发者社区和丰富的NuGet包 云原生支持&#xff1a;完美适配Docker和Kubernetes部署 二、开发…

AT2401C与RFX2401C问题处理资料

1、AT2401C 可以 PIN 对 PIN 替代 RFX2401C 吗&#xff1f; 答&#xff1a;AT2401C 可以 PIN 对 PIN 替换 RFX2401C&#xff1b;同时 CB2401 也可以 PIN 对 PIN 替换 RFX2401C&#xff1b;我们主要推 AT2401C 这款芯片&#xff0c;如果客户产 品需要过认证或者应用于音频产品建…

Redis-缓存应用 本地缓存与分布式缓存的深度解析

Redis缓存场景与策略&#xff1a;本地缓存与分布式缓存的深度解析 在当今高并发、低延迟的互联网架构中&#xff0c;缓存技术是优化系统性能的核心手段之一。Redis作为分布式缓存的标杆&#xff0c;与本地缓存共同构成了缓存体系的两大支柱。然而&#xff0c;两者的适用场景与…