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

P9242 [蓝桥杯 2023 省 B] 接龙数列

这道题说要求最少删多少个使剩下的序列是接龙序列,这个问题可以转换为序列中最长的接龙序列是多少,然后用总长度减去最长接龙序列的长度就可以了,在第一个暴力版本的代码中我用了两个for循环求出了所有的接龙序列的长度,但是会超时,这道题可以用动态规划思想,动态规划思路是将问题转换为求序列中最长接龙序列长度,用序列总长度减去该长度得到最少删除数字个数;使用 map<char, int> mapp 记录以每个数字最后一个字符结尾的最长接龙序列长度,遍历序列中每个数字 

  • 对于每个数字 s[j],考虑其是否能接入到以 s[j] 的第一个字符结尾的接龙序列中。状态转移方程为 mapp[s[j][k - 1]] = max(mapp[s[j][k - 1]], mapp[s[j][0]] + 1)
  • max(mapp[s[j][k - 1]], mapp[s[j][0]] + 1) 的含义是:如果选择把 s[j] 接入到以 s[j] 的第一个字符结尾的接龙序列中,那么以 s[j] 的最后一个字符结尾的最长接龙序列长度就是以 s[j] 的第一个字符结尾的最长接龙序列长度加 1;若不选择接入,mapp[s[j][k - 1]] 的值保持不变,即维持其原本记录的最长接龙序列长度。

遍历完后找出 mapp 中最大值即最长接龙序列长度。


 

对于一个长度为 K 的整数数列:A1​,A2​,…,AK​,我们称之为接龙数列当且仅当 Ai​ 的首位数字恰好等于 Ai−1​ 的末位数字(2≤i≤K)。

例如 12,23,35,56,61,11 是接龙数列;12,23,34,56 不是接龙数列,因为 56 的首位数字不等于 34 的末位数字。所有长度为 1 的整数数列都是接龙数列。

现在给定一个长度为 N 的数列 A1​,A2​,…,AN​,请你计算最少从中删除多少 个数,可以使剩下的序列是接龙序列?

输入格式

第一行包含一个整数 N。

第二行包含 N 个整数 A1​,A2​,…,AN​。

输出格式

一个整数代表答案。

输入输出样例

输入 #1复制

5
11 121 22 12 2023

输出 #1复制

1

说明/提示

【样例说明】

删除 22,剩余 11,121,12,2023 是接龙数列。

【评测用例规模与约定】

对于 20% 的数据,1≤N≤20。

对于 50% 的数据,1≤N≤104。

对于 100% 的数据,1≤N≤105,1≤Ai​≤109。所有 Ai​ 保证不包含前导 0。

蓝桥杯 2023 省赛 B 组 E 题。

暴力版代码,会超时只能过三个样例

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+10;
map<string,int>mapp;
string s[N];
signed main()
{int n;cin>>n;if(n==1){cout<<0;exit(0);}for(int i=1;i<=n;i++){cin>>s[i];mapp[s[i]]=1;}int sum=-1;for(int i=1;i<n;i++){for(int j=i+1;j<=n;j++){int k=s[i].size();// cout<<s[i]<<" "<<s[j]<<" "<<s[i][k-1]<<" "<<s[j][0]<<endl; if(s[i][k-1]==s[j][0]){mapp[s[j]]=max(mapp[s[j]],mapp[s[i]]+1);sum=max(sum,mapp[s[j]]);}}}cout<<n-sum;// 请在此输入您的代码return 0;
}


AC代码

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+10;
map<char,int>mapp;
string s[N];
signed main()
{int n;cin>>n;if(n==1){cout<<0;exit(0);}for(int i=1;i<=n;i++){cin>>s[i];int k=s[i].size();mapp[s[i][k-1]]=0;}int sum=-1;for(int j=1;j<=n;j++){int k=s[j].size();mapp[s[j][k-1]]=max(mapp[s[j][k-1]],mapp[s[j][0]]+1);sum=max(sum,mapp[s[j][k-1]]);// cout<<sum<<" ";}cout<<n-sum;// 请在此输入您的代码return 0;
}

相关文章:

P9242 [蓝桥杯 2023 省 B] 接龙数列

这道题说要求最少删多少个使剩下的序列是接龙序列&#xff0c;这个问题可以转换为序列中最长的接龙序列是多少&#xff0c;然后用总长度减去最长接龙序列的长度就可以了&#xff0c;在第一个暴力版本的代码中我用了两个for循环求出了所有的接龙序列的长度&#xff0c;但是会超时…...

未来 AI 发展趋势与挑战(AGI、数据安全、监管政策)

从 ChatGPT 的火爆到国内 DeepSeek、通义千问、百川智能等模型的兴起,AI 正以前所未有的速度走入各行各业。而下一阶段,AI 是否会发展出真正的“通用智能”(AGI)?数据隐私、技术伦理又该如何应对?本文将带你全面洞察未来 AI 的技术趋势与落地挑战。 一、AGI 的曙光:通用…...

驱动开发硬核特训 · Day 6 : 深入解析设备模型的数据流与匹配机制 —— 以 i.MX8M 与树莓派为例的实战对比

&#x1f50d; B站相应的视屏教程&#xff1a; &#x1f4cc; 内核&#xff1a;博文视频 - 从静态绑定驱动模型到现代设备模型 主题&#xff1a;深入解析设备模型的数据流与匹配机制 —— 以 i.MX8M 与树莓派为例的实战对比 在上一节中&#xff0c;我们从驱动框架的历史演进出…...

MyBatis 动态 SQL 使用详解

&#x1f31f; 一、什么是动态 SQL&#xff1f; 动态 SQL 是指根据传入参数&#xff0c;动态拼接生成 SQL 语句&#xff0c;不需要写多个 SQL 方法。MyBatis 提供了 <if>、<choose>、<foreach>、<where> 等标签来实现这类操作 ✅ 二、动态 SQL 的优点…...

数据结构实验4.1:链队列的基本操作

文章目录 一&#xff0c;问题描述二&#xff0c;基本要求三&#xff0c;算法分析链队列的存储结构设计基本操作的算法分析 四&#xff0c;示例代码五&#xff0c;实验操作六&#xff0c;运行效果 一&#xff0c;问题描述 编程实现有关链队列的下列基本操作。 &#xff08;1&am…...

独立部署及使用Ceph RBD块存储

Ceph RBD&#xff08;RADOS Block Device&#xff09; 是 Ceph 分布式存储系统中的块存储组件&#xff0c;类似于 AWS EBS、iSCSI 等。它独立于 OpenShift 或 IBM CP4BA&#xff0c;是一个分布式存储系统&#xff0c;提供高性能、可扩展性和容错能力&#xff0c;适用于数据库、…...

C++初阶-C++入门基础

目录 ​编辑 1.C的简介 1.1C的产生和发展 1.2C的参考文档 1.3C优势和难度 1.4C学习的建议 2.C的第一个程序 2.1打印Hello world 2.2头文件 2.3namespace命名空间 2.4&#xff1a;&#xff1a;作用域限定符 2.5namespace的延伸 2.6C的输入输出 3.总结 1.C的简介 …...

部署大模型不再难:DeepSeek + 腾讯云 HAI 实战教程

网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…...

算法训练之位运算

♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个…...

初识Linux:常见指令与权限的理解,以及相关衍生知识

目录 前言 关于linux的简介 代码开源 网络功能强大 系统工具链完整 一、Linux下的基本指令 1.ls指令 2.pwd指令 3.cd指令 4.whoami指令 5.touch指令 6.mkdir指令 7.rm指令 8.man指令 9.cp指令 10.mv指令 11.nano指令 12.cat指令 13.tac指令 14.more指令 15.less指令 16.head指令…...

PostgreSQL-数据库的索引 pg_operator_oid_index 损坏

报错信息&#xff1a; 连接测试失败 Error connecting to database: Connection failed: ERROR: index "pg_operator_oid_index" contains unexpected zero page at block 3 Hint: Please REINDEX it. 这个错误表明 PostgreSQL 数据库的索引 pg_operator_oid_index …...

数字图像处理作业4

数字图像处理 作业4 Project 4&#xff1a;Image Restoration The scoring method for this project is as follows&#xff1a; 1&#xff0e;Implement a blurring filter using the equation&#xff08;5&#xff0e;6&#xff0d;11&#xff0c;数字图像处理&#xff08;…...

Simulink中Signal Builder在新版中找不到怎么办

在较新的MATLAB版本中&#xff0c;新版Simulink中的Signal Builder用Signal Editor作为替代工具。 signal builder not shown in matlab - MATLAB Answers - MATLAB Central signalBuilderToSignalEditor 1.打开上面第二个链接 2.点击拷贝 3.然后在命令行中粘贴 4.然后就会…...

STM32——RTC实时时钟

RTC简介 RTC&#xff08;Real Time Clock, RTC&#xff09;实时时钟&#xff0c;其本质是一个计数器&#xff0c;计数频率常为秒&#xff0c;专门用来记录时间。 其具有能提供时间(秒钟数)&#xff0c;能在MCU掉电后运行&#xff0c;低功耗的特性 内部框图 1. RTC预分频器 2. …...

sqli-labs靶场 less4

文章目录 sqli-labs靶场less 4 联合注入 sqli-labs靶场 每道题都从以下模板讲解&#xff0c;并且每个步骤都有图片&#xff0c;清晰明了&#xff0c;便于复盘。 sql注入的基本步骤 注入点注入类型 字符型&#xff1a;判断闭合方式 &#xff08;‘、"、’、“”&#xf…...

指针数组 vs 数组指针

一、指针数组&#xff1a;「数组装指针」—— 每个元素都是指针 &#x1f50d; 核心定义 语法&#xff1a;类型* 数组名[长度]; &#xff08;[]优先级高于*&#xff0c;先形成数组&#xff0c;元素是指针&#xff09;本质&#xff1a;一个 数组&#xff0c;数组的每个元素是 …...

GitHub优秀项目:数据湖的管理系统LakeFS

lakeFS 是一个开源工具&#xff0c;它将用户的对象存储转换为类似Git的存储库。使用户可以像管理代码一样管理数据湖。借助 lakeFS&#xff0c;可以构建可重复、原子化和版本化的数据湖操作--从复杂的ETL作业到数据科学和分析。 Stars 数11090Forks 数3157 主要特点 强大的数据…...

数据库视图讲解(view)

一、为什么需要视图 二、视图的讲解 三、总结 一、为什么需要视图 视图一方面可以帮我们使用表的一部分而不是所有的表&#xff0c;另一方面也可以针对不同的用户制定不同的查询视图。 比如&#xff0c;针对一个公司的销售人员&#xff0c;我们只想给他看部分数据&#xff0c…...

pip install pytrec_eval失败的解决方案

1、问题描述 在使用华为云 notebook 的时候&#xff0c;想要&#xff1a; !pip install transformer结果失败&#xff0c;阅读报错后&#xff0c;疑似是 pytrec_eval 库的下载问题。 于是&#xff0c;单独尝试&#xff1a; !pip install pytrec_eval发现确实是这个库安装失…...

使用stream的Collectors.toMap()方法常见问题

文章目录 一、常见问题二、key重复问题2.1、报错示例2.2、解决方法 三、value为空问题3.1、报错示例3.2、解决方法3.1、方案一3.2、方案二 一、常见问题 stream的Collectors.toMap()方法常见问题&#xff1a; 1、 key不能有重复&#xff0c;否则会报错。java.lang.IllegalStat…...

[C++面试] 初始化相关面试点深究

一、入门 1、C中基础类型的初始化方式有哪些&#xff1f;请举例说明 ​默认初始化​ 对于全局变量和静态变量&#xff0c;基础类型&#xff08;如int、float、double等&#xff09;会被初始化为 0&#xff1b;而对于局部变量&#xff0c;其值是未定义的&#xff0c;包含随机…...

ChatDBA:一个基于AI的智能数据库助手

今天给大家介绍一个基于 AI 大语言模型实现数据库故障诊断的智能助手&#xff1a;ChatDBA。 ChatDBA 是由上海爱可生信息技术股份有限公司开发&#xff0c;通过对话交互&#xff0c;提供数据库故障诊断、专业知识学习、SQL 生成和优化等功能&#xff0c;旨在提升 DBA 工作效率。…...

Java延迟队列

&#x1f4cc; 1. 场景背景 最近做项目&#xff0c;使用到了延迟队列。场景是这样的&#xff1a;在在线视频学习中&#xff0c;学生每隔几秒上报当前学习进度&#xff0c;为避免频繁写数据库、提升性能&#xff0c;采用以下方案&#xff1a; 先写入 Redis&#xff0c;再延迟一…...

神舟平板电脑怎么样?平板电脑能当电脑用吗?

在如今的数码产品市场上&#xff0c;神舟平板电脑会拥有独特的优势&#xff0c;其中比较受到大家关注的就是神舟PCpad为例&#xff0c;无论是设计还是规格也会有很多的亮点&#xff0c;那么是不是可以直接当成电脑一起来使用呢&#xff1f; 这款平板电脑就会配备10.1英寸显示屏…...

Ansible的使用3

#### 一、Ansible补充模块 try () { } catch () { } finally 等同于 block () { } rescue () { } always ##### 任务块 - block任务块 - 通过block关键字&#xff0c;将多个任务组合到一起 - 将整个block任务组&#xff0c;一…...

PS教学记录

PS制作手机壁纸和电脑壁纸 1. 思绪来源 找到了一位B站UP&#xff0c;分享了有关于灰原哀的动态壁纸。自身( •̀ ω •́ )也是名侦探柯南的爱好者&#xff0c;在此基础上&#xff0c;萌生了制作壁纸的想法。便在B站上搜寻有关于壁纸制作的教学。找到了一位壁纸分享者的教程镜…...

分析一下HashMap内部是怎么实现的

当然可以&#xff01;我们来深入分析一下 Java 中 HashMap 的内部实现机制&#xff08;以 JDK 8 为主&#xff09;&#xff0c;包括数据结构、核心算法、源码设计、以及适用场景。 &#x1f9e0; 一、HashMap 的核心结构 HashMap 是基于哈希表实现的 Map&#xff0c;底层结构是…...

面向对象的要素

理解面向对象 程序的三种基本结构 &#xff08;1&#xff09;顺序结构 &#xff08;2&#xff09;选择结构 &#xff08;3&#xff09;循环结构 面向对象程序设计简介 面向对象是一种更优秀的程序设计方法&#xff0c;它的基本思想是使用类、对象、继承、封装、消息等基本…...

Java基础 4.9

1.方法递归调用练习 //请使用递归的方式求出斐波那契数1, 1, 2, 3, 5, 8, 13 //给你一个整数n, 求出它的值是多少 /* 思路 n 1 1 n 2 1 n > 3 前两个数的和 递归的思路 */ public class RecursionExercise01 {public static void main(String[] args) {Mathod mathod ne…...

什么是堆?深入理解堆数据结构及其应用

粉丝提问 ⭐算法OJ⭐数据流的中位数【最小堆】Find Median from Data Stream 发表后收到一位粉丝的私信询问&#xff1a; “经常听说堆、堆排序、优先队列这些概念&#xff0c;但一直不太明白堆到底是什么&#xff0c;能简单解释一下吗&#xff1f;它和内存分配中的堆是一回事…...

程序化广告行业(73/89):买卖双方需求痛点及应对策略深度剖析

程序化广告行业&#xff08;73/89&#xff09;&#xff1a;买卖双方需求痛点及应对策略深度剖析 大家好&#xff01;一直以来&#xff0c;我都热衷于在技术领域探索学习&#xff0c;也深知知识的分享能让我们共同进步。写这篇博客的目的&#xff0c;就是希望能和大家一起深入了…...

C++ RAII 的用途及业务代码实现案例

C RAII 的用途及业务代码实现案例 RAII 的核心概念 RAII (Resource Acquisition Is Initialization&#xff0c;资源获取即初始化) 是 C 的核心编程范式&#xff0c;其核心思想是&#xff1a; 资源获取与对象构造绑定资源释放与对象析构绑定利用 C 对象生命周期自动管理资源…...

神经网络入门—自定义神经网络续集

修改网络 神经网络入门—自定义网络-CSDN博客 修改数据集&#xff0c;yx^2 # 生成一些示例数据 x_train torch.tensor([[1.0], [2.0], [3.0], [4.0]], dtypetorch.float32) y_train torch.tensor([[1.0], [4.0], [9.0], [16.0]], dtypetorch.float32) 将预测代码改为&…...

【C语言】浮点数在内存的储存

前言&#xff1a; 在上章&#xff0c;了解了整数在内存中的储存&#xff0c;在本章节为大家继续讲解浮点数的储存&#xff0c;也是数据储存的最后一部分。 浮点数是计算机科学中一种重要的数据类型&#xff0c;用于表示实数。它能够表示非常大或非常小的数值&#xff0c;并且…...

安装 Calico 的两种主流方式对比

本文对比了 Calico 的两种主流安装方式&#xff1a; 使用 calico.yaml 的 Manifest 安装方式使用 Tigera Operator&#xff08;tigera-operator.yaml custom-resources.yaml&#xff09;安装方式 ✅ 1. 使用 Manifest 方式安装&#xff08;直接部署 calico.yaml&#xff09; …...

信用卡欺诈检测实战教程:从数据预处理到模型优化全解析

引言&#xff1a;为什么需要信用卡欺诈检测&#xff1f; 根据尼尔森报告&#xff0c;全球每年因信用卡欺诈造成的损失超过250亿美元&#xff0c;金融机构需要在0.1秒内完成交易风险评估。本文将带您从零构建基于机器学习的信用卡欺诈检测系统&#xff0c;完整代码可视化分析&a…...

android studio编译报错 Gradle

android studio 提示 Could not install Gradle distribution from https://services.gradle.org/distributions/gradle-8.0.2-bin.zip. Reason: java.net.SocketTimeoutException: Read timed out 一&#xff0c;手动下载 https://services.gradle.org/distributions/gradle…...

【Nodebb系列】Nodebb笔记写入方案

NodeBB写入方案 前言 最近在整理以前记录的碎片笔记,想把它们汇总到NodeBB中,方便管理和浏览。但是笔记内容有点多,并且用发帖的形式写到NodeBB中会丢失时间信息,因此整理了一套NodeBB写入方案,大致流程如下: 建立标准笔记格式导出原始笔记,并编写脚本将笔记内容转换为…...

Spring Boot 集成 POI

Spring Boot 集合 POI Apache POI 官站&#xff1a;https://poi.apache.org/ 基础概念 Apache POI 是一个开源项目&#xff0c;提供 Java API 用于操作 Microsoft Office 文件格式。Apache POI 对 Excel 文件的处理分为两个主要类库&#xff1a; HSSF (Horrible Spreadsheet …...

8个方向使用DeepSeek打磨完美课题申报书!

一份出色的课题申报书&#xff0c;往往就是项目获批的关键。撰写高质量课题申报书绝非易事&#xff0c;它需要您在选题切入点、研究价值论证、技术路线设计、团队优势呈现、经费规划和预期成果等多维度进行精心布局&#xff0c;确保论证有力、重点突出、结构清晰。 本文为您提供…...

Leetcode 34.在排序数组中查找元素的第一个和最后一个位置

题目描述 给你一个按照非递减顺序排列的整数数组 nums&#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target&#xff0c;返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 考察二…...

ctfshow VIP题目限免 密码逻辑脆弱

根据题目提示&#xff1a;公开的信息比如邮箱&#xff0c;可能造成信息泄露&#xff0c;产生严重后果 在页面上找一个邮箱号 从 QQ 上面搜索这个 QQ号&#xff0c;发现是一个叫大牛的人&#xff0c;地区是陕西西安 然后我们拼接访问 /admin 发现了一个后台登录系统的页面&…...

C++初级入门学习

数据结构初级部分的学习我们已经学完了&#xff0c;接下来就进入C初阶部分的学习&#xff0c;因为数据结构的高阶部分要用到C才能够更好的理解并书写&#xff0c;所以我们要先学习C&#xff0c;初阶部分学完就能继续学习我们对数据结构了。好了&#xff0c;直接进入今天的主题吧…...

2025年汽车加气站操作工证考试内容

汽车加气站操作工证是从事汽车加气站相关操作工作的人员需要考取的资格证书 考试内容 理论知识&#xff1a;包括加气站的工艺流程、设备原理、安全操作规程、气体性质、消防知识、环境保护等方面的知识。例如&#xff0c;需要了解压缩天然气或液化天然气的储存、运输和加注流…...

python爬虫:喜马拉雅案例(破解sign值)

声明&#xff1a; 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;不提供完整代码&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff…...

嵌入式AI前沿:精选工具与应用网站解析

1. Edge Impulse 网址&#xff1a;https://www.edgeimpulse.com/核心内容&#xff1a; 提供端到端的嵌入式AI开发平台&#xff0c;简化从数据收集到模型训练再到部署的全流程。支持多模态数据处理&#xff08;音频、视觉、运动等&#xff09;&#xff0c;并优化模型以在资源受…...

【论文精读】Multi-scale Neighbourhood Feature Interaction Network

摘要&#xff08;ABSTRACT&#xff09; 光伏发电是工业领域的关键组成部分&#xff0c;其能量转换效率受光伏电池表面缺陷的显著影响。近年来&#xff0c;深度学习模型的广泛应用推动了缺陷检测技术的进步。然而&#xff0c;由于光伏电池缺陷尺寸差异较大&#xff08;尤其是微…...

C++ 蓝桥云课代码练习

代码一 &#xff0c;小明的背包1&#xff0c;代码见下 #include <iostream> #include <cstring> using namespace std;#define maxn 110 #define maxm 1001 #define inf -1int w[maxn], v[maxn]; int dp[maxn][maxm];int main() {memset(dp, inf, sizeof(dp));dp[…...

微软庆祝它成立整整50周年

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

android 启动四大组件

在 Android 开发中&#xff0c;启动通常是指启动一个 Activity、Service、BroadcastReceiver 或其他组件。以下是一些常见的启动方式&#xff1a; 1. 启动一个 Activity 要启动一个 Activity&#xff0c;可以使用 Intent。以下是一个示例代码&#xff1a; 示例&#xff1a;启…...