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

子2023

0子2023 - 蓝桥云课

问题描述

小蓝在黑板上连续写下从1到2023之间所有的整数,得到了一个数字序列:S = 12345678910111213...20222023。小蓝想知道S中有多少种子序列恰好等于2023?

以下是3种满足条件的子序列(用中括号标识出的数字是子序列包含的数字):

  1. 1[2]34567891[0]111[2]1[3]141516718192021223...
  2. 1[2]34567891[0]111[2]131415161718192021222[3]...
  3. 1[2]34567891[0]111213141516171819[2]021222[3]...

注意以下是不满足条件的子序列,虽然包含了2、0、2、3四个数字,但是顺序不对:

  1. [1][2]345678910111[2]131415161718192[0]21222[3]...

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

思路:

常见的dp思路,记录子序列出现的次数

代码如下:

#include <iostream>
#include<string>
#include<algorithm>
using namespace std;
typedef long long ll;
ll dp[5];
int main()
{
    string s;
    for(ll i = 1 ; i <= 2023 ; i++)
    {
        s += to_string(i);
    }
    for(ll i = 0 ; i < s.size() ; i++)
    {
        if(s[i] == '2')
        {
            dp[1]++;
            dp[3] += dp[2];    
        } 
        if(s[i] == '0')
        {
            dp[2] += dp[1];
        }
        if(s[i] == '3')
        {
            dp[4] += dp[3];
        }
    }
    cout << dp[4];
    return 0;
}


http://www.kler.cn/a/523550.html

相关文章:

  • 电商系统-用户认证(三)基于公钥解析JWT令牌
  • 【C语言】内存函数
  • 51单片机开发:串口通信
  • AboutDialog组件的功能和用法
  • 128周二复盘(164)学习任天堂
  • 图漾相机——C++语言属性设置
  • Linux(19)——使用正则表达式匹配文本
  • Linux 下注册分析(2)
  • 第31章 测试驱动开发中的设计模式与重构解析(Python 版)
  • .net 如何处理网页的Json请求?
  • LLM评估优化与新技术创新综述
  • 基于STM32的数字多重仪表教学
  • 编程题-最长的回文子串(中等)
  • 一文讲解CMS收集器的垃圾收集过程
  • vue3阻止事件冒泡到父元素
  • FLTK - FLTK1.4.1 - demo - animgifimage-play
  • FLTK - FLTK1.4.1 - demo - animgifimage
  • 漂亮数 (线性筛+前缀和)
  • 【小白学AI系列】NLP 核心知识点(五)Transformer介绍
  • 99.19 金融难点通俗解释:营业总收入vs归母净利润vs扣非净利润
  • 新鲜速递:DeepSeek-R1开源大模型本地部署实战—Ollama + MaxKB 搭建RAG检索增强生成应用
  • 数论问题75
  • LeetCode题练习与总结:N 叉树的后序遍历--590
  • 2025年AI Agent(智能体)的发展机会
  • C语言连接Mysql
  • PCIe基础分享