当前位置: 首页 > news >正文

相差不超过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 n1 个非负整数 H 1 , H 2 , ⋯ , H n − 1 H_{1}, H_{2}, \cdots, H_{n-1} H1,H2,,Hn1, 其中 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 n100;

对于 60 % 60 \% 60% 的评测用例, n ≤ 1000 n \leq 1000 n1000;

对于所有评测用例, 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} 1n105,1x109,0Hi104

蓝桥杯 2022 省赛 A 组 F 题。

算法原理

借鉴的别人的解法,这里讲一下思路在这里插入图片描述

    1. 将问题转换为2x只青蛙过河的问题
      在这里插入图片描述
    1. 这个解析是站在已知最小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的最多数 来源&#xff1a;牛客网 题目描述&#xff1a; 给定一个数组&#xff0c;选择一些数&#xff0c;要求选择的数中任意两数差的绝对值不超过 &#x1d458; 。问最多能选择多少个数&#xff1f; 输入描述: 第一行输入两个正整…...

【自然语言处理与大模型】使用llama.cpp将HF格式大模型转换为GGUF格式

llama.cpp的主要目标是在本地和云端的各种硬件上以最小的设置和最先进的性能实现LLM推理。是一个专为大型语言模型&#xff08;LLM&#xff09;设计的高性能推理框架&#xff0c;完全使用C和C编写&#xff0c;没有外部依赖&#xff0c;这使得它可以很容易地被移植到不同的操作系…...

MongoDB存储照片和文件存储照片的区别在那里?

一、维度对比 比较维度MongoDB存储照片文件系统存储照片数据模型使用文档存储数据&#xff0c;可以存储不同结构的照片。以文件的形式存储照片&#xff0c;每个文件独立存在。性能高效的数据检索&#xff0c;适用于大规模应用程序中的高效检索和访问。但在处理大量高分辨率图片…...

协变量的概念

协变量的概念 协变量的概念 协变量(Covariate)是在统计分析和研究中,与因变量(被研究的主要变量)相关,并且可能对因变量产生影响的其他变量。它不是研究的主要关注对象,但需要在分析过程中被考虑进去,因为它可能会混淆或改变自变量与因变量之间的关系。举例说明 教育研…...

【[LeetCode每日一题】Leetcode 1768.交替合并字符串

Leetcode 1768.交替合并字符串 题目描述&#xff1a; 给定两个字符串 word1 和 word2&#xff0c;以交替的方式将它们合并成一个新的字符串。即&#xff0c;第一个字符来自 word1&#xff0c;第二个字符来自 word2&#xff0c;第三个字符来自 word1&#xff0c;依此类推。如果…...

SRT协议学习

SRT(Secure Reliable Transport)协议是一种开源的视频传输协议&#xff0c;旨在提供安全&#xff0c;可靠&#xff0c;低延迟的视频流传输。以下是SRT协议的一些关键的工作原理。 1 安全传输&#xff0c;SRT通过使用AES加密和数据完整性验证来确保数据的安全传输。它可以在不信…...

南昌大学《2024年837自动控制原理真题》 (完整版)

本文内容&#xff0c;全部选自自动化考研联盟的&#xff1a;《南昌大学873自控考研资料》的真题篇。后续会持续更新更多学校&#xff0c;更多年份的真题&#xff0c;记得关注哦~ 目录 2024年真题 Part1&#xff1a;2024年完整版真题 2024年真题...

ASP.NET Core 应用程序的启动与配置:Program.cs 文件的全面解析

ASP.NET Core 应用程序的启动与配置&#xff1a;Program.cs 文件的全面解析 Program.cs 是 ASP.NET Core 应用程序的入口点&#xff0c;负责应用程序的启动和配置。以下是 Program.cs 文件中完成的主要工作&#xff0c;按逻辑步骤进行总结&#xff1a; 1. 创建和配置主机环境…...

2020-12-02 数字过滤

缘由 C语言 数组&#xff1a;数字过滤-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、应用现状 长短期记忆神经网络&#xff08;LSTM&#xff09;是一种特殊的循环神经网络(RNN)。原始的RNN在训练中&#xff0c;随着训练时间的加长以及网络层数的增多&#xff0c;很容易出现梯度爆炸或者梯度消失的问题&#xff0c;导致无法处理较长序列数据&#xff0c;从而无…...

数据结构 ——二叉树转广义表

数据结构 ——二叉树转广义表 1、树转广义表 如下一棵树&#xff0c;转换为广义表 root(c(a()(b()()))(e(d()())(f()(j(h()())())))) (根&#xff08;左子树&#xff09;&#xff08;右子树&#xff09;) 代码实现 #include<stdio.h> #include<stdlib.h>//保存…...

chattts生成的音频与字幕修改完善,每段字幕对应不同颜色的视频,准备下一步插入视频。

上一节中&#xff0c;实现了先生成一个固定背景的与音频长度一致的视频&#xff0c;然后插入字幕。再合并成一个视频的方法。 但是&#xff1a;这样有点单了&#xff0c;所以&#xff1a; 1.根据字幕的长度先生成视频片断 2.在片段上加上字幕。 3.合并所有片断&#xff0c;…...

数据结构开始——时间复杂度和空间复杂度知识点笔记总结

好了&#xff0c;经过了漫长的时间学习c语言语法知识&#xff0c;现在我们到了数据结构的学习。 首先&#xff0c;我们得思考一下 什么是数据结构&#xff1f; 数据结构(Data Structure)是计算机存储、组织数据的方式&#xff0c;指相互之间存在一种或多种特定关系的数据元素…...

路由策略与策略路由

路由策略 常用有Router-Policy&#xff0c;Filter-Policy等 控制路由是否可达&#xff0c;通过修改路由条目相关参数影响流量的转发 基于控制平面&#xff0c;会影响路由表表项&#xff0c;但只能基于目地址进行策略判定&#xff0c;于路由协议相结合使用 Router-Policy …...

pytorch_fid 安装笔记

目录 torch安装&#xff1a; pytorch_fid安装 torch安装&#xff1a; pip install torch2.5.0 --index-url https://download.pytorch.org/whl/cu121 pytorch_fid安装 pip install pytorch_fid 安装后&#xff0c;torch也会自动安装&#xff0c;导致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语言编写的应用程序接口&#xff0c;它能够帮助您在网站中构建功能丰富、交互性强的地图应用&#xff0c;包含了构建地图基本功能的各种接口&#xff0c;提供了诸如本地搜索、路线规划等数据服务。百度地图JavaScript API支持HTTP和HT…...

mp4影像和m4a音频无损合成视频方法

第一步&#xff1a;复制高清视频地址 url 第二步:打开网址粘贴复制的视频url视频下载 第三步&#xff1a;下载-影像.mp4和-音频.m4a 第四步&#xff1a;合并视频&#xff1b; 使用ffmpeg进行无损合成&#xff08;如果没有安装ffmpeg请自行下载安装下载 FFmpeg (p2hp.com)&…...

Ubuntu下将Julia嵌入Jupyter内核

一.安装 Julia 如果 Julia 尚未安装&#xff1a; 打开终端&#xff0c;下载最新的 Julia 安装包&#xff1a; wget https://julialang-s3.julialang.org/bin/linux/x64/1.9/julia-1.9.3-linux-x86_64.tar.gz 解压并移动到 /opt&#xff1a; tar -xvzf julia-1.9.3-linux-x86_…...

openGauss开源数据库实战二十五

文章目录 任务二十五 openGauss 数据库的物理备份与恢复任务目标实施步骤一、为进行物理备份做准备1.确保数据库工作在归档模式2.创建保存数据库物理备份的目录3.创建保存归档日志备份的目录 二、进行openGauss数据库的物理备份1.备份数据库2.切换WAL3.备份归档日志 三、openGa…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...