【C++】 —— 笔试刷题day_30
一、爱吃素
题目解析
这道题,简单来说就是给定两个数
a
和b
,然后让我们判断a*b
是否是素数。
算法思路
这道题还是比较简单的
首先,输入两个数
a
和b
,这两个数的数据范围都是[1, 10^11]
;10
的11
次方,那a*b
不就是10
的22
次方了,这么大的数,long long
也是存不下的;所以我们不能直接去判断
a*b
是否是素数。
那我们该如何去判断呢?
我们知道素数是指:大于
1
的正整数中,只存在两个因子(就是1
和这个数本身)。那我们要判断
a*b
是否是素数,它只有两个因子,那不就是a
和b
吗,所以a
和b
一个数等于1
,且另外一个数是素数。所以这里我们只需要判断
a
和b
其中一个数等于1
,另一个数是一个素数即可。(也就不用考虑数据范围的问题了)
代码实现
#include <iostream>
#include <cmath>
using namespace std;
bool isprim(long long x)
{if(x == 1) return false;for(int i = 2;i<=sqrt(x);i++){if(x%i == 0)return false;}return true;
}
int main()
{int t;cin>>t;while(t--){long long a,b;cin>>a>>b;if((a == 1 && isprim(b)) || (b == 1 && isprim(a)))cout<<"YES"<<endl;elsecout<<"NO"<<endl;}return 0;
}
二、相差不超过k的最多数
题目解析
对于这道题,给定一个数组
nums
,然后让我们在这个数组中找出一些数,这些数的任意两个数之差的绝对值不超过k
;求我们找出这些数中,数据个数的最大值。
简单来说就是找到一些数,这些数中的最大值和最小值之差不超过
k
;然后让我们求这些数在数据的最大个数。
算法思路
OK啊,对于这道题,给的数据是乱序的,我们不好找;所以我们可以试着现将数据进行排序;
排序
我们排序之后,数据有序了,发现我们找到这一些数一定是连续的;
了解过滑动窗口的相信已经有思路了:滑动窗口求最长的连续子区间
对于一个有序的数组,我们要找一段连续的子区间,这一段区间的最大值和最小值只差不超过
k
。
这里因为我们数组是有序的,我们不用记录区间内的最大值和最小值,因为right
指向的位置就是最大值,left
指向的位置就最小值。
我们只需记录并更新最终结果即可。
代码实现
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 2e5+10;
int arr[N];
int n,k;
int main()
{cin>>n>>k;for(int i = 0;i<n;i++) cin>>arr[i];sort(arr,arr+n);int l = 0,r = 0;int ret = 0;while(r < n){while(arr[r] - arr[l] > k) l++;ret = max(ret, r - l + 1);r++;}cout<<ret<<endl;return 0;
}
三、最长公共子序列(一)
题目解析
对于这道题,给定两个字符串
s1
和s2
,然后让我们找到这两个字符串中最长公共子序列的长度;**子序列:**字符串的一部分,可以不连续;例如
abcde
的一个子序列bde
;
算法思路
我们看到这道题,如果没有了解过动态规划的话,可以是能想到的就只有暴力解法了;
当然暴力解法态麻烦了,这里就不叙述了;
来看这道题应该如何去解决:
我们要求这两个字符串的最长公共子序列的长度,那我们就可以记录一个字符串某一个子串和另一个字符串的某一个子串的最长公共子序列的长度,这样我们在遍历两个子串,找到一个相同的字符时,就可以直接拿到两个字符串前面子串的最长公共子序列的长度。
所以这道题思路就显而易见了:动态规划
状态表示:
dp[i][j]
表示s1
中[1,i]
子串和s2
中[1,j]
子串的最长公共子序列的长度。状态转移方程: 我们遍历两个字符,遍历到某一个位置(
s1
的i
位置,s2
的j
位置)如果这两个位置字符相等
s1[i] == s2[j]
,此时最长公共子序列的长度就等于s1
中[1,i-1]
和s2
中[1,j-1]
子串的最长公共子序列长度加1
;如果这两个位置字符不相等
s1[i] != s2[j]
,但是我们s1[i]
可能等于s2[j-1]
,s2[j]
也可能等于s1[i-1]
,所以此时最长公共子序列长度就等于:s1
中[1,i-1]
和s2
中[1,j]
子串的最长公共子序列长度和s1
中[1,i]
和s2
中[1,j-1]
子串的最长公共子序列长度的最大值。所以,当
s1[i] == s2[j]
时,dp[i][j] = dp[i-1][j-1] + 1
;当s1[i] != s2[j]
时,dp[i][j] = max(dp[i][j-1], dp[i-1][j])
。
代码实现
#include <iostream>
using namespace std;
const int N = 1010;
int dp[N][N];
char s1[N];
char s2[N];
int n, m;
int main() {cin >> n >> m;for (int i = 1; i <= n; i++) cin >> s1[i];for (int i = 1; i <= m; i++) cin >> s2[i];for (int i = 1; i <= n; i++) {for (int j = 1; j <= m; j++) {if (s1[i] == s2[j])dp[i][j] = dp[i - 1][j - 1] + 1;elsedp[i][j] = max(dp[i][j - 1], dp[i - 1][j]);}}cout << dp[n][m] << endl;return 0;
}
到这里,本篇文章内容就结束了。
继续加油啊!!!
相关文章:

【C++】 —— 笔试刷题day_30
一、爱吃素 题目解析 这道题,简单来说就是给定两个数a和b,然后让我们判断a*b是否是素数。 算法思路 这道题还是比较简单的 首先,输入两个数a和b,这两个数的数据范围都是[1, 10^11];10的11次方,那a*b不就是…...
React文件上传组件封装全攻略
React文件上传组件封装指南 在现代Web应用开发中,文件上传是一个常见且重要的功能。本文将详细介绍如何使用React封装一个高质量、可复用的文件上传组件,内容涵盖基础实现、高级特性、性能优化和最佳实践等方面。 基础文件上传组件实现 核心功能设计 一个完整的文件上传组…...
`ParameterizedType` 和 `TypeVariable` 的区别
在 Java 的泛型系统中,ParameterizedType 和 TypeVariable 是两个不同的类型表示,它们都属于 java.lang.reflect.Type 接口的子接口。两者都在反射(Reflection)中用于描述泛型信息,但用途和含义不同。 🌟 一…...
PSA Certified
Arm 推出的 PSA Certified 已成为安全芯片设计领域的黄金标准。通过对安全启动、加密服务以及更新协议等方面制定全面的要求,PSA Certified为芯片制造商提供了清晰的路线图,使其能将安全机制深植于定制芯片解决方案的基础架构中。作为对PSA Certified的补…...

项目版本管理和Git分支管理方案
文章目录 一、团队协作1.项目团队与职责2.项目时间线与里程碑3.风险评估与应对措施4.跨团队同步会议(定期)跨团队同步会议(双周) 5.版本升级决策树6.边界明确与路标制定a.功能边界划分b.项目路标制定b1、项目路标制定核心要素b2. 路标表格模板…...

蓝牙AVRCP协议概述
AVRCP(Audio/Video Remote Control Profile)定义了蓝牙设备和 audio/video 控制功能通信的特 点和过程,另用于远程控制音视频设备,底层传输基于 AVCTP 传输协议。该 Profile 定义了AV/C 数字命令控制集。命令和信息通过 AVCTP(Audio/Video Control Trans…...

2025长三角杯数学建模B题思路模型代码:空气源热泵供暖的温度预测,赛题分析与思路
2025长三角杯数学建模B题思路模型代码,详细内容见文末名片 空气源热泵是一种与中央空调类似的设备,其结构主要由压缩主机、热交换 器以及末端构成,依靠水泵对末端房屋提供热量来实现制热。空气源热泵作为热 惯性负载,调节潜力巨…...

基于大数据的租房信息可视化系统的设计与实现【源码+文档+部署】
课题名称 基于大数据的租房信息可视化系统的设计与实现 学 院 专 业 计算机科学与技术 学生姓名 指导教师 一、课题来源及意义 租房市场一直是社会关注的热点问题。随着城市化进程的加速,大量人口涌入城市,导致租房需求激增。传统的租…...

下周,Coinbase将被纳入标普500指数
Coinbase加入标普500指数紧随比特币突破10万美元大关之后。加密资产正在日益成为美国金融体系的一部分。大型机构已获得监管批准创建现货比特币交易所交易基金,进一步推动了加密货币的主流化进程。 加密货币行业迎来里程碑时刻,Coinbase即将加入标普500…...
C++(17):引用传参
目录 一、核心概念 二、代码示例:对比指针和引用 1. 指针传参的问题 2. 引用传参的改进 三、引用传参的优势 四、总结 一、核心概念 别名机制:引用是变量的别名,操作引用等同于操作原变量。 避免拷贝:直接操作原始变量&…...
文章记单词 | 第82篇(六级)
一,单词释义 continual /kənˈtɪnjuəl/- adj. 持续不断的;频繁的instinct /ˈɪnstɪŋkt/- n. 本能;直觉weekday /ˈwiːkdeɪ/- n. 工作日(周一至周五)glove /ɡlʌv/- n. 手套process /ˈprəʊses/- n. 过程&a…...
30天通过软考高项-质量论文
近年来,尤其随着5G技术的普及及使用,JZ各单位接入数据的类型及容量呈现明显上升趋势,电信诈骗等案件频发,且GA部明确各地的国产化时间要求。TJ原有的大数据应用系统已无法满足完全满足jz单位对大数据的使用的要求。TJJZ总队于23年12月正式启动算力中心项目,该项目合同额13…...
容器化-k8s-使用和部署
一、K8s 使用 1、基本概念 集群: 由 master 节点和多个 slaver 节点组成,是 K8s 的运行基础。节点: 可以是物理机或虚拟机,是 K8s 集群的工作单元,运行容器化应用。Pod: K8s 中最小的部署单元,一个 Pod 可以包含一个或多个紧密相关的容器,这些容器共享网络和存储资源。…...
C++ Kafka客户端(cppkafka)安装与问题解决指南
一、cppkafka简介 cppkafka是一个现代C的Apache Kafka客户端库,它是对librdkafka的高级封装,旨在简化使用librdkafka的过程,同时保持最小的性能开销。 #mermaid-svg-qDUFSYLBf8cKkvdw {font-family:"trebuchet ms",verdana,arial,…...

一发入魂:极简解决 SwiftUI 复杂视图未能正确刷新的问题(中)
概述 各位似秃非秃小码农们都知道,在 SwiftUI 中视图是状态的函数,这意味着状态的改变会导致界面被刷新。 但是,对于有些复杂布局的 SwiftUI 视图来说,它们的界面并不能直接映射到对应的状态上去。这就会造成一个问题:状态的改变并没有及时的引起 UI 的变化。 如上图所示…...
Go语言处理HTTP下载中EOFFailed
在 Go 语言中使用 HTTP 下载文件时遇到 EOF 或 Failed 错误,通常是由于网络连接问题、服务器中断、未正确处理响应体或并发写入冲突等原因导致的。以下是详细的解决方案: 1. 检查错误类型并重试 io.EOF 错误可能表示连接被服务器关闭,而 Fai…...
opencloudos 安装 mosquitto
更新系统并安装依赖 sudo dnf update -y sudo dnf install -y epel-release # 若需要 EPEL 额外仓库 sudo dnf install -y gcc-c cmake openssl-devel c-ares-devel libuuid-devel libwebsockets-devel安装 Mosquitto 通过默认仓库安装(推荐) sudo dn…...

基于Scrapy-Redis的分布式景点数据爬取与热力图生成
1. 引言 在旅游行业和城市规划中,热门景点的数据分析具有重要意义。通过爬取景点数据并生成热力图,可以直观展示游客分布、热门区域及人流趋势,为商业决策、景区管理及智慧城市建设提供数据支持。 然而,单机爬虫在面对大规模数据…...

Java 使用 PDFBox 提取 PDF 文本并统计关键词出现次数(附Demo)
目录 前言1. 基本知识2. 在线URL2.1 英文2.2 混合 3. 实战 前言 爬虫神器,无代码爬取,就来:bright.cn Java基本知识: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD…...

将 Element UI 表格元素导出为 Excel 文件(处理了多级表头和固定列导出的问题)
import { saveAs } from file-saver import XLSX from xlsx /*** 将 Element UI 表格元素导出为 Excel 文件* param {HTMLElement} el - 要导出的 Element UI 表格的 DOM 元素* param {string} filename - 导出的 Excel 文件的文件名(不包含扩展名)*/ ex…...
Android Development Roadmap
🔧 Android Development Roadmap (Practical First → Theory Later) Here’s a lean, real-world roadmap tailored to the mindset — build-first, theory-when-needed: 🟢 Stage 1: Core Setup & Workflow (Done ✅) ✅ Install Android Studio…...

【Linux网络】 HTTP cookie与session
HTTP cookie与session 引入HTTP Cookie 定义 HTTP Cookie(也称为Web Cookie、浏览器Cookie或简称Cookie)是服务器发送到用户浏览器并保存在浏览器上的一小块数据,它会在浏览器之后向同一服务器再次发起请求时被携带并发送到服务器上。通常&…...

OrangePi Zero 3学习笔记(Android篇)11 - IR遥控器
目录 1. 查询IR信息 1.1.1 sunxi-ir-uinput 1.1.2 sunxi-ir 2. 调试键值 3. 匹配遥控器 4. Power键的特殊处理 5. 验证 ir的接口在13pin接口上,需要使用到扩展板。 1. 查询IR信息 在shell的界面输入命令: dumpsys input 分析返回信息…...
uniapp实现在线pdf预览以及下载
uniapp实现在线pdf预览以及下载 在线预览 遇到的问题 后端返回一个url地址,我需要将在在页面中渲染出来。因为在浏览器栏上我输入url地址就可以直接预览pdf文件,因此直接的想法是通过web-view组件直接渲染。有什么问题呢?在h5端能够正常渲…...

【蓝桥杯省赛真题49】python偶数 第十五届蓝桥杯青少组Python编程省赛真题解析
python偶数 第十五届蓝桥杯青少组python比赛省赛真题详细解析 博主推荐 所有考级比赛学习相关资料合集【推荐收藏】1、Python比赛 信息素养大赛Python编程挑战赛 蓝桥杯python选拔赛真题详解...

突发,苹果发布下一代 CarPlay Ultra
汽车的平均换代周期一般都超过5年,对于老旧燃油车而言,苹果的 Carplay 是黑暗中的明灯,是延续使用寿命的利器。 因为你可能不需要冰箱彩电大沙发,但一定需要大屏车载导航、倒车影像、车载听歌。如果原车不具备这个功能࿰…...
鸿蒙OSUniApp开发富文本编辑器组件#三方框架 #Uniapp
使用UniApp开发富文本编辑器组件 富文本编辑在各类应用中非常常见,无论是内容创作平台还是社交软件,都需要提供良好的富文本编辑体验。本文记录了我使用UniApp开发一个跨平台富文本编辑器组件的过程,希望对有类似需求的开发者有所启发。 背景…...

Axure设计的“广东省网络信息化大数据平台”数据可视化大屏
在数据驱动决策的时代,数据可视化大屏成为了展示数据、洞察趋势的重要工具。今天,让我们一同深入了解由Axure设计的“广东省网络信息化大数据平台”数据可视化大屏,看看它如何通过精心的布局和丰富的图表类型,将复杂的数据以直观易…...

2025认证杯数学建模第二阶段C题完整论文(代码齐全)化工厂生产流程的预测和控制
2025认证杯数学建模第二阶段C题完整论文(代码齐全)化工厂生产流程的预测和控制,详细信息见文末名片 第二阶段问题 1 分析 在第二阶段问题 1 中,由于在真实反应流程中输入反应物的量改变后,输出产物会有一定延时&#…...

Redis——底层数据结构
SDS(simple dynamic string): 优点: O1时间获取长度(char *需要ON)快速计算剩余空间(alloc-len),拼接时根据所需空间自动扩容,避免缓存区溢出(ch…...