笔试专题(十五)

文章目录

  • 排序子序列
    • 题解
    • 代码
  • 消减整数
    • 题解
    • 代码
  • 最长公共子序列(二)
    • 题解
    • 代码

排序子序列

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

题解

1. 贪心 + 模拟
2. 1 2 3 2 2 应该是有两个排列子序列的,所以i == n-1时ret++
3. 把水平的位置和上升部分,水平位置和下降部分分为一个排列子序列

在这里插入图片描述

代码

#include <iostream>
using namespace std;const int N =1e5 + 10;
int a[N];int main()
{int n;cin >> n;for(int i = 0;i < n;i++) cin >> a[i];// 开始并不知道是上升的还是下降的,加加跳过水平的位置int ret = 0;// 统计最少的排序子序列int i = 0;while(i < n){while(i + 1 < n && a[i] == a[i+1]) i++;if(i == n-1){ret++;break;}if(a[i] > a[i+1]){while(i + 1 < n && a[i] >= a[i+1]) i++;ret++;}else if(a[i] < a[i+1]){while(i + 1 < n && a[i] <= a[i+1]) i++;ret++;}i++;// 为了让水平的部分跳过}cout << ret << '\n';return 0;
}

消减整数

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

题解

1. 贪心 + 数学
2. 第一次必须减1,a = 1,之后的数如果是a的2倍,那么a乘2,每次ret++
3. 贪心:如果这个数模2*a == 0就一直贪心

在这里插入图片描述

代码

#include<iostream>using namespace std;int main()
{int t;cin >> t;while(t--){int h;cin >> h;int ret = 0;int a = 1;while(h){h -= a;ret++;if(h % (2*a) == 0){a *= 2;}}cout << ret << '\n';}return 0;
}

最长公共子序列(二)

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

题解

1. 贪心 + 二分
2. 时间复杂度:O(N*logN)
3. 动态规划的时间复杂度:O(N^2)

在这里插入图片描述

代码

class Solution 
{int dp[100010] = {0};int pos = 0;
public:int LIS(vector<int>& a) {for(auto x : a){if(pos == 0 || x > dp[pos]){dp[++pos] = x;}else {// 二分int l = 1,r = pos;while(l < r){int mid = (l + r) / 2;if(dp[mid] >= x) r = mid;else l = mid + 1; }dp[l] = x;}}    return pos;}
};

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

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

相关文章

Amazon Bedrock Converse API:开启对话式AI新体验

Amazon Bedrock Converse API&#xff1a;开启对话式AI新体验 前言 在当今人工智能飞速发展的时代&#xff0c;对话式AI已成为众多应用的核心组成部分。从智能客服到智能助手&#xff0c;对话式AI为用户带来了便捷且高效的交互体验。而Amazon Bedrock Converse API的出现&…

【Springboot知识】Springboot计划任务Schedule详解

文章目录 Spring Boot 定时任务从原理到实现详解一、核心原理分析1. 架构分层2. 核心组件3. 线程模型 二、基础实现步骤1. 添加依赖2. 主类配置3. 定时任务类 三、高级配置技巧1. 自定义线程池2. 动态配置参数3. 分布式锁集成&#xff08;Redis示例&#xff09; 四、异常处理机…

MySQL:联合查询

目录 一、笛卡尔积 ​二、内连接 三、外连接 &#xff08;1&#xff09;左外连接 &#xff08;2&#xff09;右外连接 &#xff08;3&#xff09;全外连接 四、自连接 五、子查询 &#xff08;1&#xff09;单行子查询 &#xff08;2&#xff09;多行子查询 &…

深入理解 Cortex-M3 的内核寄存器组

每个 MCU 开发工程师一定都了解寄存器这个东西&#xff0c;以 STM32 为例&#xff0c;其拥有非常多的外设模块&#xff0c;如串口、SPI、IIC 等等&#xff0c;如果要使用这些外设&#xff0c;使其按照我们的要求工作&#xff0c;就需要配置这些外设的寄存器&#xff0c;往这些寄…

网络安全自动化:找准边界才能筑牢安全防线

数字时代&#xff0c;企业每天要面对成千上万的网络攻击。面对庞大的服务器群、分散的团队和长期不重启的设备&#xff0c;很多企业开始思考&#xff1a;哪些安全操作适合交给机器自动处理&#xff1f;哪些必须由人工把关&#xff1f;今天我们就用大白话聊聊这件事。 一、这些事…

C++负载均衡远程调用学习之负载均衡算法与实现

目录 01 lars 系统架构回顾 02 lars-lbAgentV0.4-route_lb处理report业务流程 03 lars-lbAgentV0.4-负责均衡判断参数配置 04 lars-lbAgentV0.4-负载均衡idle节点的失败率判断 05 lars-lbAgentV0.4-负载均衡overload节点的成功率判断 06 lars-lbAgentV0.4-负载均衡上报提交…

领略算法真谛: 多源bfs

嘿&#xff0c;各位技术潮人&#xff01;好久不见甚是想念。生活就像一场奇妙冒险&#xff0c;而编程就是那把超酷的万能钥匙。此刻&#xff0c;阳光洒在键盘上&#xff0c;灵感在指尖跳跃&#xff0c;让我们抛开一切束缚&#xff0c;给平淡日子加点料&#xff0c;注入满满的pa…

雷电模拟器-超好用的Windows安卓模拟器

一、雷电模拟器介绍 雷电模拟器是一款功能强大的软件&#xff0c;它能够在电脑上模拟出安卓手机系统&#xff0c;让你可以在电脑上运行各类手机应用及游戏。其采用虚拟安卓手机操作界面&#xff0c;为玩家带来了独特的体验。 &#xff08;一&#xff09;强大的兼容性 雷电模拟…

文章三《机器学习基础概念与框架实践》

文章3:机器学习基础概念与框架实践 ——从理论到代码,用Scikit-learn构建你的第一个分类模型 一、机器学习基础理论:三大核心类型 机器学习是人工智能的核心,通过数据让计算机自动学习规律并做出预测或决策。根据学习方式,可分为三类: 1. 监督学习(Supervised Learni…

脑机接口技术:开启人类与机器的全新交互时代

在科技飞速发展的今天&#xff0c;人类与机器的交互方式正经历着前所未有的变革。从最初的键盘鼠标&#xff0c;到触摸屏&#xff0c;再到语音控制&#xff0c;每一次交互方式的升级都极大地提升了用户体验和效率。如今&#xff0c;脑机接口&#xff08;Brain-Computer Interfa…

8.2 GitHub企业级PDF报告生成实战:ReportLab高级技巧与性能优化全解析

GitHub企业级PDF报告生成实战:ReportLab高级技巧与性能优化全解析 GitHub Sentinel 高级功能实现:PDF 报告生成技术详解 关键词:PDF 报告生成, ReportLab 实战, 结构化数据转换, 容器化字体配置, 企业级报告模板 1. 需求分析与技术选型 PDF 报告生成需要满足以下技术要求…

架构思维:构建高并发读服务_基于流量回放实现读服务的自动化测试回归方案

文章目录 引言一、升级读服务架构&#xff0c;为什么需要自动化测试&#xff1f;二、自动化回归测试系统&#xff1a;整体架构概览三、日志收集1. 拦截方式2. 存储与优化策略3. 架构进化 四、数据回放技术实现关键能力 五、差异对比对比方式灵活配置 六、三种回放模式详解1. 离…

基于Spring Boot 3.0、ShardingSphere、PostgreSQL或达梦数据库的分库分表

要实现基于Spring Boot 3.0、ShardingSphere、PostgreSQL或达梦数据库的分库分表&#xff0c;首先需要对ShardingSphere进行一些基本配置。你提到的溯源码、批次号等数据需要考虑到跨年数据的存储&#xff0c;因此要设计一个能够动态扩展的分表策略 添加ShardingSphere依赖 在…

位运算的应用

1. 判断偶数&#xff0c;判断最低位是0还是1即可&#xff0c;⽐求模快 x % 2 ! 0 //x正负都可以判断&#xff1b;不⽤x%2 1&#xff0c;因为如果x为负奇数&#xff0c;x%2-1 (x & 0x1) 0 例如&#xff1a; int x; int main() { cin>>x; if((x & 0x1)0) cout<…

FOC算法开环控制基础

1. 为什么要有FOC算法 先看看从有刷电机到无刷电机的简单介绍&#xff0c;如下图1&#xff0c;通电螺线圈会产生磁场&#xff0c;这个磁场会产生N级和S级&#xff0c;然后这个电磁铁就可以吸引永磁体&#xff0c;S级吸引N级&#xff0c;N级吸引S级&#xff0c;通俗的来说&…

【计算机网络】HTTP中GET和POST的区别是什么?

从以下几个方面去说明&#xff1a; 1.定义 2.参数传递方式 3.安全性 4.幂等性 1.定义&#xff1a; GET&#xff1a; 获取资源&#xff0c;通常请求数据而不改变服务器的状态。POST&#xff1a; 提交数据到服务器&#xff0c;通常会改变服务器的状态或副作用(如创建或更新资源…

7400MB/s5050TBW完美结合,全新希捷酷玩530R SSD体验评测

7400MB/s&5050TBW完美结合&#xff0c;全新希捷酷玩530R SSD体验评测 哈喽小伙伴们好&#xff0c;我是Stark-C~ 说到希捷酷玩530 SSD&#xff0c;很多硬核进阶玩家应该都知道&#xff0c;或者说正在使用&#xff08;比如说我~&#xff09;。 作为希捷大厂旗下高性能SSD的…

(undone) MIT6.S081 2023 学习笔记 (Day11: LAB10 mmap)

url: https://pdos.csail.mit.edu/6.1810/2023/labs/mmap.html mmap和munmap系统调用允许UNIX程序对其地址空间进行精细控制。它们可用于进程间共享内存、将文件映射到进程地址空间&#xff0c;并作为用户级页面错误处理方案的一部分&#xff0c;例如课程中讨论的垃圾回收算法。…

Q_OBJECT宏的作用

Qt 中&#xff0c;如果一个类中定义了信号&#xff08;signals&#xff09;或槽&#xff08;slots&#xff09;&#xff0c;那么这个类必须包含 Q_OBJECT 宏。 Q_OBJECT宏是 Qt 元对象系统的核心部分&#xff0c;它使得信号和槽机制能够正常工作。 Q_OBJECT宏是 Qt 的元对象系统…

信息安全基石:加解密技术的原理、应用与未来

信息加解密技术是信息安全领域的核心技术之一&#xff0c;以下为你详细介绍&#xff1a; 一、加密技术 1.定义&#xff1a;加密是通过特定的算法和密钥&#xff0c;将原始的明文信息转化为看似无意义的密文信息的过程。这一过程使得信息在传输、存储等过程中&#xff0c;即使…