news 2026/6/10 0:27:50

2026-01-20-牛客每日一题-小红删数字

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2026-01-20-牛客每日一题-小红删数字

title: 2026-01-20-牛客每日一题-小红删数字
date: 2026-01-20
tags:

  • 算法学习
  • 牛客
  • 动态规划

题目信息

  • 平台:牛客
  • 题目:小红删数字
  • 难度:中等
  • 题目链接

题目描述

给定长度为 n 的数字序列 a1…an,每一步在相邻两个数之间选择加号或乘号,并对结果取模 10,按从左到右的顺序计算。请统计最终结果为 0…9 的方案数,对 1e9+7 取模输出。


初步思路

  1. 从右往左做 DP:设cnt[i][v]表示从位置 i 到 n 的子序列,最终结果为 v 的方案数。
  2. 右端初始化:cnt[n][a[n]] = 1
  3. 转移:把a[i-1]cnt[i][*]的结果通过+*合并,更新cnt[i-1][*]

算法分析

  • 核心:右向左 DP,枚举每个位置与后缀结果的加法/乘法
  • 技巧:结果只关心 0…9,因此状态数固定为 10
  • 时间复杂度:O(10n)
  • 空间复杂度:O(10n)

代码实现(C++)

#include<iostream>usingnamespacestd;usingll=longlong;constintN=2e5+5;constll MOD=1000000007;ll n,t,a[N],cnt[N][10];intmain(){cin>>n;for(inti=1;i<=n;++i){cin>>t;if(n>1)a[i]=t%10;elsea[i]=t;// 特判 n = 1}cnt[n][a[n]]++;//初始化,dp的起点for(inti=n;i>1;--i){for(intj=0;j<10;++j){cnt[i-1][(a[i-1]+j)%10]=(cnt[i-1][(a[i-1]+j)%10]+cnt[i][j])%MOD;cnt[i-1][(a[i-1]*j)%10]=(cnt[i-1][(a[i-1]*j)%10]+cnt[i][j])%MOD;}}for(inti=0;i<10;++i){cout<<cnt[1][i]<<' ';}return0;}

总结与反思

  1. 结果只和个位相关,状态压缩到 10 个值即可。
  2. 右向左推导能避免重复计算,直接统计所有结果分布。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 1:09:13

突破想象!AI应用架构师用科研AI智能体重塑金融学分析格局

突破想象&#xff01;AI应用架构师用科研AI智能体重塑金融学分析格局 一、引言&#xff1a;金融分析的“旧时代”与“新革命” 1. 一个让分析师崩溃的场景 凌晨3点&#xff0c;某顶级投行的资深分析师李阳还在办公室加班。他面前的电脑屏幕上&#xff0c;开着20多个窗口&#x…

作者头像 李华
网站建设 2026/6/9 15:06:00

计算机大数据毕设实战-基于大数据的网易云音乐排行榜数据分析可视化系统基于Python网易云音乐排行榜数据分析系统设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】

java毕业设计-基于springboot的(源码LW部署文档全bao远程调试代码讲解等) 博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、…

作者头像 李华
网站建设 2026/6/9 15:05:37

大数据毕设选题推荐:基于Python网易云音乐排行榜数据分析系统设计与实现基于Python的网易云歌曲数据分析系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】

java毕业设计-基于springboot的(源码LW部署文档全bao远程调试代码讲解等) 博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、…

作者头像 李华