相差不超过k的最多数,最长公共子序列(一),排序子序列,体操队形,青蛙过河
相差不超过k的最多数
- 链接:相差不超过k的最多数
来源:牛客网
题目描述:
给定一个数组,选择一些数,要求选择的数中任意两数差的绝对值不超过 𝑘 。问最多能选择多少个数?
输入描述:
第一行输入两个正整数 𝑛和𝑘。
第二行输入 𝑛 个正整数𝑎𝑖 ,用空格隔开,表示这个数组。
输出描述:
一个正整数,代表能选的最多数量。
数据范围:1≤𝑛≤2×105 1≤𝑘,𝑎𝑖≤1091≤k,
示例1
输入
5 3
2 1 5 3 2
输出
4
说明
显然,1和5不能同时选。所以最多只能选4个数。
算法原理
双指针
代码
#include <iostream>
using namespace std;
#include <vector>
#include <functional>
int main() {int n,k;cin>>n>>k;vector<int> a(n,0);for(int i = 0;i<n;i++)cin>>a[i];sort(a.begin(),a.end());// for(auto e:a)// cout<<e<<" ";int left = 0;int len = 0;for(int right = 0;right<n;right++){if(a[right]-a[left]>k){len = max(len,right-left);//cout<<left<<":"<<right<<endl;left++;while(a[right]-a[left]>k)left++;}len = max(len,right-left+1);}cout<<len;return 0;
}
最长公共子序列(一)
- 链接:最长公共子序列(一)

算法原理
动态规划

代码
#include <iostream>
using namespace std;
#include <vector>
int main() {int n,m;cin>>n>>m;string s1,s2;cin>>s1>>s2;s1 = " "+s1;s2 = " "+s2;vector<vector<int>> dp(n+1,vector<int>(m+1,0));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;else{dp[i][j] = max(dp[i-1][j],dp[i][j-1]);}}}cout<<dp[n][m];return 0;
}
排序子序列
- 链接:排序子序列

算法原理
贪心+模拟

代码
#include <iostream>
using namespace std;
#include <vector>
int main() {int n;cin>>n;vector<int> arr(n,0);for(int i = 0;i<n;i++){cin>>arr[i];}int count = 0;int cur = 1;while(cur<n){//跳过相等的while(arr[cur]==arr[cur-1]){cur++;}if(cur<n&&arr[cur]>arr[cur-1]){while(cur<n&&arr[cur]>arr[cur-1]){cur++;}count++;cur++;}if(cur<n&&arr[cur]<arr[cur-1]){while(cur<n&&arr[cur]<arr[cur-1])cur++;cur++;count++;}//如果只有最后一个元素if(cur==n)count++;}cout<<count<<endl;return 0;
}
体操队形
- 链接:体操队形

算法原理
dfs/递归
决策树

代码
#include <iostream>
using namespace std;
#include <vector>
int n;
vector<int> a;
vector<bool> vis;
vector<int> path = {0};
int count = 0;
void dfs(int pos)
{if(pos>n){count++;return;}for(int i = 1;i<=n;i++){//判断是否满足位置要求if(vis[i]&&(vis[a[i]]==false||a[i]==i)){vis[i] = false;dfs(pos+1);vis[i] = true;}}
}
int main()
{cin>>n;vis.resize(n+1,true);a.resize(n+1,0);for(int i = 1;i<=n;i++) cin>>a[i];dfs(1);cout<<count<<endl;return 0;
}
[蓝桥杯 2022 省 A] 青蛙过河
题目描述
小青蛙住在一条河边,它想到河对岸的学校去学习。小青蛙打算经过河里的石头跳到对岸。
河里的石头排成了一条直线,小青蛙每次跳跃必须落在一块石头或者岸上。不过,每块石头有一个高度,每次小青蛙从一块石头起跳,这块石头的高度就会下降 1 1 1,当石头的高度下降到 0 0 0 时小青蛙不能再跳到这块石头上(某次跳跃后使石头高度下降到 0 0 0 是允许的)。
小青蛙一共需要去学校上 x x x 天课,所以它需要往返 2 x 2x 2x 次。当小青蛙具有一个跳跃能力 y y y 时,它能跳不超过 y y y 的距离。
请问小青蛙的跳跃能力至少是多少才能用这些石头上完 x x x 次课。
输入格式
输入的第一行包含两个整数 n , x n, x n,x, 分别表示河的宽度和小青蛙需要去学校的天数。请注意 2 x 2x 2x 才是实际过河的次数。
第二行包含 n − 1 n-1 n−1 个非负整数 H 1 , H 2 , ⋯ , H n − 1 H_{1}, H_{2}, \cdots, H_{n-1} H1,H2,⋯,Hn−1, 其中 H i > 0 H_{i}>0 Hi>0 表示在河中与 小青蛙的家相距 i i i 的地方有一块高度为 H i H_{i} Hi 的石头, H i = 0 H_{i}=0 Hi=0 表示这个位置没有石头。
输出格式
输出一行, 包含一个整数, 表示小青蛙需要的最低跳跃能力。
样例 #1
样例输入 #1
5 1
1 0 1 0
样例输出 #1
4
提示
【样例解释】
由于只有两块高度为 1 1 1 的石头,所以往返只能各用一块。第 1 1 1 块石头和对岸的距离为 4 4 4,如果小青蛙的跳跃能力为 3 3 3 则无法满足要求。所以小青蛙最少需要 4 4 4 的跳跃能力。
【评测用例规模与约定】
对于 30 % 30 \% 30% 的评测用例, n ≤ 100 n \leq 100 n≤100;
对于 60 % 60 \% 60% 的评测用例, n ≤ 1000 n \leq 1000 n≤1000;
对于所有评测用例, 1 ≤ n ≤ 1 0 5 , 1 ≤ x ≤ 1 0 9 , 0 ≤ H i ≤ 1 0 4 1 \leq n \leq 10^{5}, 1 \leq x \leq 10^{9}, 0 \leq H_{i} \leq 10^{4} 1≤n≤105,1≤x≤109,0≤Hi≤104 。
蓝桥杯 2022 省赛 A 组 F 题。
算法原理
借鉴的别人的解法,这里讲一下思路
-
- 将问题转换为2x只青蛙过河的问题

- 将问题转换为2x只青蛙过河的问题
-
- 这个解析是站在已知最小y的情况下,推的一些性质,然后用这些性质,来结算y


- 这个解析是站在已知最小y的情况下,推的一些性质,然后用这些性质,来结算y
代码
#include <iostream>
using namespace std;
#include <vector>int main()
{int n,x;cin>>n>>x;int val;vector<int> v(1,0);while(cin>>val){v.push_back(val);}int right = 1,left = 1;int sum = 0;int y = 0;for( ;right<v.size();right++){sum+=v[right];if(sum>=2*x){y = max(y,right-left+1);sum-=v[left++];while(sum>=2*x){sum-=v[left++];}}}if(y==0){cout<<n;}else{cout<<y;}return 0;
}
相关文章:
相差不超过k的最多数,最长公共子序列(一),排序子序列,体操队形,青蛙过河
相差不超过k的最多数 链接:相差不超过k的最多数 来源:牛客网 题目描述: 给定一个数组,选择一些数,要求选择的数中任意两数差的绝对值不超过 𝑘 。问最多能选择多少个数? 输入描述: 第一行输入两个正整…...
【自然语言处理与大模型】使用llama.cpp将HF格式大模型转换为GGUF格式
llama.cpp的主要目标是在本地和云端的各种硬件上以最小的设置和最先进的性能实现LLM推理。是一个专为大型语言模型(LLM)设计的高性能推理框架,完全使用C和C编写,没有外部依赖,这使得它可以很容易地被移植到不同的操作系…...
MongoDB存储照片和文件存储照片的区别在那里?
一、维度对比 比较维度MongoDB存储照片文件系统存储照片数据模型使用文档存储数据,可以存储不同结构的照片。以文件的形式存储照片,每个文件独立存在。性能高效的数据检索,适用于大规模应用程序中的高效检索和访问。但在处理大量高分辨率图片…...
协变量的概念
协变量的概念 协变量的概念 协变量(Covariate)是在统计分析和研究中,与因变量(被研究的主要变量)相关,并且可能对因变量产生影响的其他变量。它不是研究的主要关注对象,但需要在分析过程中被考虑进去,因为它可能会混淆或改变自变量与因变量之间的关系。举例说明 教育研…...
【[LeetCode每日一题】Leetcode 1768.交替合并字符串
Leetcode 1768.交替合并字符串 题目描述: 给定两个字符串 word1 和 word2,以交替的方式将它们合并成一个新的字符串。即,第一个字符来自 word1,第二个字符来自 word2,第三个字符来自 word1,依此类推。如果…...
SRT协议学习
SRT(Secure Reliable Transport)协议是一种开源的视频传输协议,旨在提供安全,可靠,低延迟的视频流传输。以下是SRT协议的一些关键的工作原理。 1 安全传输,SRT通过使用AES加密和数据完整性验证来确保数据的安全传输。它可以在不信…...
南昌大学《2024年837自动控制原理真题》 (完整版)
本文内容,全部选自自动化考研联盟的:《南昌大学873自控考研资料》的真题篇。后续会持续更新更多学校,更多年份的真题,记得关注哦~ 目录 2024年真题 Part1:2024年完整版真题 2024年真题...
ASP.NET Core 应用程序的启动与配置:Program.cs 文件的全面解析
ASP.NET Core 应用程序的启动与配置:Program.cs 文件的全面解析 Program.cs 是 ASP.NET Core 应用程序的入口点,负责应用程序的启动和配置。以下是 Program.cs 文件中完成的主要工作,按逻辑步骤进行总结: 1. 创建和配置主机环境…...
2020-12-02 数字过滤
缘由 C语言 数组:数字过滤-CSDN问答 void chuli(int n15236) {int aa[47]{0},j0,m0;while(n)aa[j]n%10,n/10;while(j)if(aa[--j]%2)m*10,maa[j];cout << m << ends; } void 数字过滤(int n 15236) {int aa[47]{0}, j 0, m 0;while (…...
长短期记忆神经网络(LSTM)介绍
1、应用现状 长短期记忆神经网络(LSTM)是一种特殊的循环神经网络(RNN)。原始的RNN在训练中,随着训练时间的加长以及网络层数的增多,很容易出现梯度爆炸或者梯度消失的问题,导致无法处理较长序列数据,从而无…...
数据结构 ——二叉树转广义表
数据结构 ——二叉树转广义表 1、树转广义表 如下一棵树,转换为广义表 root(c(a()(b()()))(e(d()())(f()(j(h()())())))) (根(左子树)(右子树)) 代码实现 #include<stdio.h> #include<stdlib.h>//保存…...
chattts生成的音频与字幕修改完善,每段字幕对应不同颜色的视频,准备下一步插入视频。
上一节中,实现了先生成一个固定背景的与音频长度一致的视频,然后插入字幕。再合并成一个视频的方法。 但是:这样有点单了,所以: 1.根据字幕的长度先生成视频片断 2.在片段上加上字幕。 3.合并所有片断,…...
数据结构开始——时间复杂度和空间复杂度知识点笔记总结
好了,经过了漫长的时间学习c语言语法知识,现在我们到了数据结构的学习。 首先,我们得思考一下 什么是数据结构? 数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素…...
路由策略与策略路由
路由策略 常用有Router-Policy,Filter-Policy等 控制路由是否可达,通过修改路由条目相关参数影响流量的转发 基于控制平面,会影响路由表表项,但只能基于目地址进行策略判定,于路由协议相结合使用 Router-Policy …...
pytorch_fid 安装笔记
目录 torch安装: pytorch_fid安装 torch安装: pip install torch2.5.0 --index-url https://download.pytorch.org/whl/cu121 pytorch_fid安装 pip install pytorch_fid 安装后,torch也会自动安装,导致torch引用报错。...
Qt绘制仪表————附带详细说明和代码示例
文章目录 1 效果2 原理3 编码实践3.1 创建仪表属性类3.2 设置类属性3.3 绘制图案3.3.1 设置反走样3.3.2 绘制背景3.3.3 重新定义坐标原点3.3.4 绘制圆环3.3.5 绘制刻度线3.3.6 绘制刻度线上的描述值3.3.7 绘制指针3.3.8 绘制指针数值和单位3.3.9 控制指针变化 扩展福利参考 1 效…...
百度地图JavaScript API核心功能指引
百度地图JavaScript API是一套由JavaScript语言编写的应用程序接口,它能够帮助您在网站中构建功能丰富、交互性强的地图应用,包含了构建地图基本功能的各种接口,提供了诸如本地搜索、路线规划等数据服务。百度地图JavaScript API支持HTTP和HT…...
mp4影像和m4a音频无损合成视频方法
第一步:复制高清视频地址 url 第二步:打开网址粘贴复制的视频url视频下载 第三步:下载-影像.mp4和-音频.m4a 第四步:合并视频; 使用ffmpeg进行无损合成(如果没有安装ffmpeg请自行下载安装下载 FFmpeg (p2hp.com)&…...
Ubuntu下将Julia嵌入Jupyter内核
一.安装 Julia 如果 Julia 尚未安装: 打开终端,下载最新的 Julia 安装包: wget https://julialang-s3.julialang.org/bin/linux/x64/1.9/julia-1.9.3-linux-x86_64.tar.gz 解压并移动到 /opt: tar -xvzf julia-1.9.3-linux-x86_…...
openGauss开源数据库实战二十五
文章目录 任务二十五 openGauss 数据库的物理备份与恢复任务目标实施步骤一、为进行物理备份做准备1.确保数据库工作在归档模式2.创建保存数据库物理备份的目录3.创建保存归档日志备份的目录 二、进行openGauss数据库的物理备份1.备份数据库2.切换WAL3.备份归档日志 三、openGa…...
别再死记硬背公式了!用Python代码和可视化动画,5分钟搞懂RoPE旋转位置编码
用Python动画拆解RoPE:当词向量在Attention中跳起旋转之舞想象一下,如果每个词向量都能在神经网络里跳一支优雅的芭蕾,用旋转的角度告诉模型自己的位置——这正是RoPE旋转位置编码的魔法。传统的位置编码像是给词向量贴上编号标签,…...
两个世界的同一种崩溃:从窗口黑屏到宇宙热寂的同构联想
一、两个世界的同一种崩溃 一段着色器代码中 cell.xy 的缩放因子从 9 被修改为 99。着色器随即呈现完全黑屏——既无报错信息,也无渲染异常,只有纯粹、彻底、连噪点都不存在的黑色。在屏幕的某个抽象维度上,发生了一件与理论物理学家在黑板上…...
紧急预警:新课标实施倒计时90天!用PlayAI快速构建跨学科项目式学习(PBL)资源包的5步极速法
更多请点击: https://kaifayun.com 第一章:紧急预警:新课标实施倒计时90天!用PlayAI快速构建跨学科项目式学习(PBL)资源包的5步极速法 距离《义务教育课程方案(2022年版)》全面落地…...
PS5 NOR修改器终极指南:简单三步修复你的游戏主机
PS5 NOR修改器终极指南:简单三步修复你的游戏主机 【免费下载链接】PS5NorModifier The PS5 Nor Modifier is an easy to use Windows based application to rewrite your PS5 NOR file. This can be useful if your NOR is corrupt, or if you have a disc edition…...
CANN-HCCL-昇腾NPU分布式训练的通信库怎么选
8 卡 Atlas 800I A2 内部走 HCCS(带宽 200GB/s),跨机走 RoCE(带宽 100GB/s)。HCCL 是昇腾NPU的通信库,对标 NVIDIA 的 NCCL。Tensor Parallel 和 Pipeline Parallel 的 All-Reduce、All-to-All 都靠它。 HC…...
第二周学习
学习(一)、低通滤波器1、原理(为什么方波经过低通滤波器变成了正弦波)傅里叶变换对于f(t)来说,只要f(t)是周期的,则一定可以将f(t)拆解…...
2026最新Burp Suite安装配置指南:Java环境、系统兼容性与代理调试
1. 为什么2026年还在手把手教Burp Suite安装?这不是过时的工具,而是安全测试的“瑞士军刀”很多人看到“Burp Suite安装教程”第一反应是:这玩意儿不是十年前就烂大街了吗?配个Java环境、下个JAR包、双击运行——三步搞定…...
AI技术解析的底线:只拆解真实可验证的项目
我不能按照该标题生成相关内容。原因如下:标题中“TAI #200”指向的是“Technical AI Newsletter”(技术型AI通讯)第200期,属于特定小众专业社群的内部简报编号,非公开项目、非可复现技术实践、非通用技能型内容&#…...
重新理解AI:从工具到可协作的助手
动手的事在减少,动脑的事在增加。从AI正式出场算起,不过短短三年多时间,许多事都在喧嚣中悄悄变化。翻看2023年的对话,无非就是和AI说句话,让它写写工作报告,分析具体的业务或数据,心底里还是把…...
2026学生开发者指南:AI时代最值得掌握的10个Java+AI技能点
写在前面2026年的技术圈有个共识——AI Agent不是“会不会来”,而是“已经全面渗透”。但很多学生朋友问我:“我是Java背景,是不是必须转Python才能搞AI?”我的回答一直是:恰恰相反。当AI从“写脚本”走向“构建系统”…...
