接龙序列(动态规划c++实现)

题目


对于一个长度为 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。


输出格式


一个整数代表答案。


样例


输入样例:
5
11 121 22 12 2023


输出样例:
1


代码

#include<iostream>
#include<string.h>
using namespace std;
const int N = 1e5+10;
int l[N],r[N],g[11],f[N];
int n;

int getLast(int x){
    return x%10;
}

int getFirst(int x){
    string s = to_string(x);
    int first = (s[0]-'0');
    return first;
}

int main(){
    scanf("%d",&n);
    
    for(int i=1;i<=n;i++) {
        int x;
        scanf("%d",&x);
        l[i] = getFirst(x);
        r[i] = getLast(x);
    }
    int res = 0;
    for(int i=1;i<=n;i++){
        f[i] = 1;
        f[i] = max(f[i],g[l[i]]+1);
        g[r[i]] = max(g[r[i]],f[i]);
        res = max(res,f[i]);
    }
    
    printf("%d",n-res);
    
}

相关推荐

  1. 序列(动态规划c++实现)

    2024-04-05 12:36:01       36 阅读
  2. 蓝桥杯day21刷题日记--序列 动态规划

    2024-04-05 12:36:01       32 阅读
  3. 砝码称重(动态规划c++实现)

    2024-04-05 12:36:01       43 阅读
  4. 验证子序列(动态规划)

    2024-04-05 12:36:01       44 阅读
  5. 算法——C/动态规划

    2024-04-05 12:36:01       52 阅读
  6. 动态规划C语言

    2024-04-05 12:36:01       39 阅读
  7. C--动态规划

    2024-04-05 12:36:01       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-05 12:36:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-05 12:36:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-05 12:36:01       87 阅读
  4. Python语言-面向对象

    2024-04-05 12:36:01       96 阅读

热门阅读

  1. golang channel实践代码及注意事项

    2024-04-05 12:36:01       34 阅读
  2. CentOS 使用 Cronie 实现定时任务

    2024-04-05 12:36:01       38 阅读
  3. 代码随想录-图论

    2024-04-05 12:36:01       32 阅读
  4. spring boot admin服务端配置邮件通知、钉钉通知

    2024-04-05 12:36:01       33 阅读
  5. 关于c# 没有显式头文件的优劣分析

    2024-04-05 12:36:01       33 阅读
  6. MD5加密返回32位密文字符串

    2024-04-05 12:36:01       35 阅读
  7. 什么是中间件

    2024-04-05 12:36:01       38 阅读
  8. Vue框架介绍简介

    2024-04-05 12:36:01       36 阅读
  9. C语言二进制常用逻辑运算符介绍与使用

    2024-04-05 12:36:01       34 阅读
  10. Vue中生成二维码,使用现有的二维码库qrcode

    2024-04-05 12:36:01       34 阅读
  11. 业务架构的四大核心元素

    2024-04-05 12:36:01       35 阅读