第十四届蓝桥杯. 接龙数列(线性DP)

这篇具有很好参考价值的文章主要介绍了第十四届蓝桥杯. 接龙数列(线性DP)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

例如 12,23,35,56,61,11 是接龙数列;12,23,34,56 不是接龙数列,因为 56 的首位数字不等于 34 的末位数字。

所有长度为 11 的整数数列都是接龙数列。

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

输入格式

第一行包含一个整数 N。

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

输出格式

一个整数代表答案。

数据范围

对于 20% 的数据,1≤N≤20。
对于 50% 的数据,1≤N≤10000。
对于 100% 的数据,1≤N≤1e5,1≤Ai≤1e9。所有 Ai 保证不包含前导 0。

输入样例:

5
11 121 22 12 2023

输出样例:

1

样例解释

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

解析:dp[ i ][ j ]为前 i 个数中,以 j 结尾的最长接龙序列的长度。

           第 i 个数的首尾分别为 a,b

           1. 如果不加上第 i 个数, 则dp[ i ][ b ] = dp[ i-1 ][ b ]

           2. 如果加上第 i 个数, 则dp[ i ][ b ] = max( dp[ i-1 ][ b ] ,  dp[ i-1 ][ a ]+1)

           同时可以优化,去掉第一维。

代码: 文章来源地址https://www.toymoban.com/news/detail-431565.html

#include<bits/stdc++.h>
using namespace std;
int dp[10],n,res;
int main(){
	cin>>n;
    for(int i=0;i<n;i++) {
        string s;
		cin>>s;
        int a=s[0]-'0',b=s.back()-'0';
        dp[b]=max(dp[b],dp[a]+1);
		res=max(res,dp[b]);
    }
    cout<<n-res<<endl;
    return 0;
}

到了这里,关于第十四届蓝桥杯. 接龙数列(线性DP)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 2023第十四届蓝桥杯JavaB组

    2023第十四届蓝桥杯JavaB组

    目录 A、阶乘求和  Ⅰ、题目解读 Ⅱ、代码  B、幸运数字  Ⅰ、题目解读  Ⅱ、代码 C: 数组分割(时间限制: 1.0s 内存限制: 512.0MB)  Ⅰ、解题思路  Ⅱ、代码  D、矩形总面积(时间限制: 1.0s 内存限制: 512.0MB)  Ⅰ、题目解读 Ⅱ、代码   E、蜗牛(时间限制: 1.0s 内存限制

    2023年04月09日
    浏览(8)
  • 【第十四届蓝桥杯单片机冲刺版】

    【第十四届蓝桥杯单片机冲刺版】

    明天就是正式比赛啦,今天可以在把各个模块练习一遍,常考的外设相关代码一定要熟练哦。 比赛时拿到资料包了,检查驱动文件,使用到的驱动文件,自己做相应的修改,确保是能够正常使用(驱动修改相关可看之前的文章)。 下面是自己将常考的外设结合一起的练习,

    2023年04月27日
    浏览(40)
  • 【第十四届蓝桥杯单片机组客观题1】

    【第十四届蓝桥杯单片机组客观题1】

    以下客观题来自4T测评的模拟题,希望可以帮助到大家,加油丫 1、C 若希望将IAP15F2K61S2单片机的IO口输出电流能力较强,应将IO配置为( )模式。 IAP15F2K61S2单片机的IO口输出电流能力较强,应将IO配置为推挽输出模式。 2、A 当下列IAP15F2K61S2单片机的中断源同时发出中断请求时

    2023年04月09日
    浏览(10)
  • 第十四届蓝桥杯编程题部分代码题解

    C. 冶炼金属 最大值就是取 a / b a / b a / b 的最小值,最小值就是二分找到满足 m i d ∗ ( b i + 1 ) ≥ a i mid * (b_i + 1) ≥ a_i mi d ∗ ( b i ​ + 1 ) ≥ a i ​ 的最小值 D. 飞机降落 全排列枚举所有降落方案,然后判断即可 E. 接龙数列 状态定义: f [ i , j ] f[i, j] f [ i , j ] 为前 i i i 个数,

    2023年04月11日
    浏览(8)
  • 蓝桥杯经验贴(第十四届蓝桥杯C++B组)

    个人背景 在参加第十四届蓝桥杯前,系统学过基础算法和简单数据结构、能熟练使用C++编写程序、参加过CCPC河北省赛、力扣通过题数1300+,力扣竞赛分数 2000+。 省赛和国赛的准备阶段 在https://www.dotcpp.com/、https://dasai.lanqiao.cn/、https://www.luogu.com.cn/上练习往年真题,也会在力扣

    2024年02月10日
    浏览(6)
  • 2023蓝桥杯C++A组题解(第十四届)

    2023蓝桥杯C++A组题解(第十四届)

    今年广东省三中游,按New Oj估分,前5题估分17(第1题√,3,4,5题暴力) 第2题(B)dfs写错了,第7题(G)并查集,多了个以前没见过的要求,找不到思路 面向 爆零选手 水平有限,将就着看,有空再补充后5题 目录 🤯吐槽 😟A,2067: [蓝桥杯2023初赛] 幸运数 😟B,2068: [蓝桥

    2023年04月15日
    浏览(10)
  • 第十四届蓝桥杯b组c/c++

    第十四届蓝桥杯b组c/c++

        要求使得数列变成接龙数列的最少删除个数, 相当于求该数列的最长接龙子数列的长度, 用总长度减去最长接龙长度即为最少删除个数。 定义dp[i][j]为前i个数中, 以数字j结尾的最长接龙数列的长度。 设第i个数的首位数字是a, 末位数字是b。 则dp[i]中相对于dp[i−1] 可

    2024年02月04日
    浏览(9)
  • 2023第十四届蓝桥杯Java B组个人题解

    2023第十四届蓝桥杯Java B组个人题解

    欢迎大家阅读蓝桥杯文章专栏🍄🍄 🔥 2023第十四届蓝桥杯模拟赛第二期个人题解(Java实现 ) 🔥 2023第十四届蓝桥杯模拟赛第三期个人题解(Java实现 ) 🔥 蓝桥杯备赛之动态规划篇——背包问题 🔥 蓝桥杯备赛之动态规划篇——涂色问题(区间DP) 🔥 蓝桥杯真题——单词

    2023年04月15日
    浏览(11)
  • 第十四届蓝桥杯省赛PythonA/C组------翻转

    小蓝用黑白棋的n个棋子排成了一行,他在脑海里想象出了一个长度为n的01串T,他发现如果把黑棋当做1,白棋当做0,这一行棋子也是一个长度为n 的01串S。 小蓝决定,如果在S中发现一个棋子和它两边的棋子都不一样,就可以将其翻转变成另一个颜色。也就是说,如果S中存在

    2024年01月22日
    浏览(11)
  • 第十四届蓝桥杯省赛C++ A组浅析

    (仅个人看法,对错未知,可以当做口胡QAQ)如有错误请大佬们指出,有更好做法欢迎留言! 暴力判不多说了 看到很多搜的,提供一个dp做法 d p [ i ] [ j ] 表示前 i 道题,答对 j 道的方案数 dp[i][j]表示前i道题,答对j道的方案数 d p [ i ] [ j ] 表示前 i 道题,答对 j 道的方案数

    2023年04月13日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包