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

P9420 [蓝桥杯 2023 国 B] 子 2023

P9420 [蓝桥杯 2023 国 B] 子 2023

      • 题目
  • 分析
      • 代码

题目

在这里插入图片描述

分析

刚拿到这道题,我大脑简单算了一下,这个值太大了,直观感觉就很难!!

但是,你仔仔细细的一看,先从最简单的第一步入手,再第二步,再第三……
发现没有!!没错!这就是最近一直在练的动态规划,这是一个递推的过程,由简单到复杂

那么应该怎么做呢?从1写道2023,unsigned long long都存不下这个数字,为了保证不会溢出,和方便遍历只能想到String类型了,
string s;
for (int i = 1; i <= 2023; i++)
s += to_string(i);//将i转换成string如何接上s的后面

既然是动态规划,那用在哪呢?我们定义dp[4],分别用
dp[0]表示当前可以组成"2"的数量。
dp[1]表示可以组成"20"的数量。
dp[2]表示可以组成"202"的数量。
dp[3]表示可以组成"2023"的数量。

接着就遍历字符串跟新对应dp[]数组的值

重点:动态规划的题,就是找到每一步之间的关系,然后从头开始理,由简单到复杂

代码

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <math.h>
#include <queue>#include <cctype>
using namespace std;
long long dp[4];
string s;
int main() {for (int i = 1; i <= 2023; i++)s += to_string(i);for (int i = 0; i < s.size(); i++) {if (s[i] == '2')dp[0]++, dp[2] += dp[1];else if (s[i] == '0')dp[1] += dp[0];else if (s[i] == '3')dp[3] += dp[2];}cout << dp[3] << endl;return 0;
}
//输出:5484660609
http://www.lryc.cn/news/543610.html

相关文章:

  • OpenAI开放Deep Research权限,AI智能体大战升级,DeepSeek与Claude迎来新对决
  • 学习笔记04——JMM内存模型
  • 将VsCode变得顺手好用(1
  • Fisher信息矩阵(Fisher Information Matrix,简称FIM)
  • Vue2+Three.js加载并展示一个三维模型(提供Gitee源码)
  • Linux红帽:RHCSA认证知识讲解(三)Linux基础指令与Vim编辑器的使用
  • python读取sqlite温度数据,并画出折线图
  • 《论企业集成平台的理解与应用》审题技巧 - 系统架构设计师
  • UE Python笔记
  • 使用django调用deepseek api,搭建ai网站
  • YOLOv12 ——基于卷积神经网络的快速推理速度与注意力机制带来的增强性能结合
  • 两台互通的服务器使用Docker部署一主两从MySQL8.0.35
  • Java23种设计模式案例
  • stm32hal库寻迹+蓝牙智能车(STM32F103C8T6)
  • JavaScript知识点4
  • 形式化数学编程在AI医疗中的探索路径分析
  • QT 引入Quazip和Zlib源码工程到项目中,无需编译成库,跨平台,加密压缩,带有压缩进度
  • Ubuntu 安装 Nginx并配置反向代理
  • GitHub SSH连接问题解决指南
  • C++ 跨平台的 GetCurrentThreadId() 获取当前线程ID实现
  • 钉钉MAKE AI生态大会思考
  • SQL笔记#复杂查询
  • 【Linux】基于UDP/TCP套接字编程与守护进程
  • springboot 引入前端
  • RTSP/Onvif安防平台EasyNVR接入EasyNVS显示服务缺失的原因与解决方案
  • 算法系列之回溯算法
  • Uniapp 小程序接口封装与使用
  • Harmony开发笔记(未完成)
  • 观成科技:海莲花“PerfSpyRAT”木马加密通信分析
  • Spring Boot @Async 注解深度指南