第十四届蓝桥杯大赛软件赛省赛(C/C++ 研究生组)

文章讲述了2023年蓝桥杯省赛C/C++大学组的一系列编程竞赛题目,重点分析了奇怪的数这一问题,该问题要求找到满足特定条件的数字,即奇数位上为奇数,偶数位上为偶数,且任意5个连续数位的和不超过给定的m值。文章提到了使用动态规划的解决方案,但由于时间限制,常规方法可能无法在规定时间内完成,因此提出了优化策略,包括维护前缀和和利用数位和的对称性来减少计算量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

蓝桥杯 2023年省赛真题
C/C++ 大学G组

试题 A: 工作时长
试题 B: 与或异或
试题 C: 翻转
试题 D: 阶乘的和
试题 E: 公因数匹配
试题 F: 奇怪的数
试题 G: 太阳
试题 H: 子树的大小
试题  I: 高塔
试题 J: 反异或 01 串


除去第 F \rm F F 题,其他题目在其他组别都有出现过,这里就不重写了。


奇怪的数

时间限制: 1.0 s 1.0\mathrm s 1.0s 内存限制: 256.0 M B 256.0\mathrm{MB} 256.0MB 本题总分: 15 15 15


【问题描述】

  小蓝最近在找一些奇怪的数,其奇数数位上是奇数,而偶数数位上是偶数。同时,这些数的任意 5 5 5 个连续数位的和都不大于 m m m
  例如当 m = 9 m = 9 m=9 时, 10101 10101 10101 12303 12303 12303 就是奇怪的数,而 12345 12345 12345 11111 11111 11111 则不是。
  小蓝想知道一共有多少个长度为 n n n 的上述的奇怪的数。你只需要输出答案对 998244353 998244353 998244353 取模的结果。

【输入格式】

  输入一行包含两个整数 n , m n, m n,m,用一个空格分隔。

【输出格式】

  输出一行包含一个整数表示答案。

【样例输入】

5 5

【样例输出】

6

【评测用例规模与约定】

  对于 30 % 30\% 30% 的评测用例, n ≤ 12 n ≤ 12 n12
  对于 60 % 60\% 60% 的评测用例, n ≤ 5000 n ≤ 5000 n5000
  对于所有评测用例, 5 ≤ n ≤ 2 × 1 0 5 , 0 ≤ m ≤ 50 5 ≤ n ≤ 2 × 10^5,0 ≤ m ≤ 50 5n2×1050m50


动态规划


  因为是要校验连续的 5 5 5 个数位上的数字之和是否大于 m m m,自然能设计出状态 f i , a , b , c , d f_{i,a,b,c,d} fi

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值