本题要求在不超过上限 N 的所有平稳数(十进制表示从左向右每一位数字单调不减)中,统计各位数字之和能被 k 整除的数的个数。由于 N 高达 1018 且查询次数 Q≤500,需要预处理后高效回答每个 k 的查询。
核心思路是 数位 DP + 预处理和向量:
若一个正整数的十进制表示中,从左向右每一位数字都不小于其左侧的数字(即数字单调不减),则称其为“平稳数”。例如 123、5、112 都是平稳数,而 321、10 不是。
现在给定一个上限 N 和 Q 个独立的查询。每个查询给定一个正整数 k,请你统计在不超过 N 的所有平稳数中,各位数字之和恰好是 k 的倍数的数的个数。
约束:
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.