同一骨架 2025 年福建预赛 · P006318
逐段处理时不必保留全部历史,只须保存决定下一步的完整状态,再合并到达同一状态的路径。一题记录进位及其可达性,另一题记录尚未终止的分数并累计路径权重;初态与允许的终态都必须明确。
数位加法的可达状态与比赛过程的概率状态,分别使用是否可达和路径权重,但都依赖状态转移压缩历史。
称正整数 为“专一的”,如果对任意 , 和 中至少有一个 在十进制表示中含数码 。记 为所有小于 的专一数之和,求 除以 的余数。
这是解答题,请在纸上写出完整过程。写完后对照解答给自己评分。
先独立尝试,再展开工具说明与想法来源。
先回想这道题的想法,再试试当前题。
有限状态方法在这里就是逐位加法记进位,不需要自动机理论。状态是可达进位的集合,而非任选一条进位路径。
想法从哪来:先把“任意拆分至少含一个1”取反,变成能否由两个无数码1的数相加。 枚举完整的大整数不可行,但十进制加法在相邻两位间只传递一个进位,所以先试列出输入进位 的逐位表。从个位往上读,只需跟踪哪些进位仍然可达;一旦两种都可达,后续就不会再失败。 由此先得到非负加数的不可表示数形,再补查原题要求两个正加数带来的例外。最后才做模11求和,利用 将数位权重化成正负交替。不能把允许零加数的状态表直接当作原问题答案。
条件等价于 不能写成两个不含数码 的正整数之和。逐位相加时只需记录进位 或 ,可用两状态表完整刻画不可表示的十进制串;随后利用 求和。
记
先允许两个加数为非负整数,并从个位向高位相加。若当前输入进位为 , 目标数字为 ,输出进位为 ,则需要找 使 。直接检查可得所有可能的 :
初始进位为 ,最高位处理完后必须仍能取 。一旦可达进位集合变成 , 以后永远保持为 。在它仍为 时,读到数字 仍为 , 读到数字 变为 ;在状态 时,只有数字 或 能使它继续保持 。因此,不能写成两个不含数码 的非负整数之和的数,恰为十进制形状
其中允许最高处补零,也允许 。
还需排除某个加数为 的情形。若一个正整数本身不含数码 ,设它最低非零位为 ,其中 。若 且还有更高非零部分, 可拆成 与其余部分;若 ,可拆成 与原数减去它。若 且有更高部分,可按该位与更高部分拆开; 若原数恰为 且 ,则
而右边第二项的十进制数字为一个 、若干个 和末位 ,仍不含 。 故不能拆成两个正的无数码 整数的额外情形只有
于是专一数恰由 (1)、(2) 两类组成。
现在令 ,把所有小于 的数写成恰好 位,允许前导零。 在 (1) 中固定末尾 的个数 ,则数字 的位置为 ,其上有 个可独立取 或 的数位。固定 的这些数之和为
模 时 。因为 为偶数,括号内在 为偶数时同余于 , 在 为奇数时同余于 。令 ,便有
这里 ,而 ,故
额外一类 (2) 在范围内的总和为
因为 为偶数,。最终
状态表同时包含“产生进位”和“不产生进位”的所有可能,起始与结束进位均已限定为零。 由非负加数过渡到正加数时,单独检查了零加数造成的全部例外;两类专一数互不重叠。 固定 位并允许前导零不会重复计数,因为形状 (1) 中唯一的数码 决定了 。
十进制加法的禁位问题可建成有限状态机:状态只记录进位,转移由允许数字的和集决定。 先完成语言分类,再利用模数下底数的短周期对整类数求和,能把极大的位数降为有限计算。
必须刻画何时可拆成两个均不含1的正整数,进位状态决定特殊数位模式,随后还要排除零加数例外并按位求和取模。
同一骨架 2025 年福建预赛 · P006318
逐段处理时不必保留全部历史,只须保存决定下一步的完整状态,再合并到达同一状态的路径。一题记录进位及其可达性,另一题记录尚未终止的分数并累计路径权重;初态与允许的终态都必须明确。
数位加法的可达状态与比赛过程的概率状态,分别使用是否可达和路径权重,但都依赖状态转移压缩历史。
同一骨架 2025 年贵州预赛 · P006262
大规模序列可以按一个位置或完整周期向前处理,只记对下一步有用的完整状态。每一步先列合法转移,再指定初末状态;状态压缩是否正确,应由相同未来行为证明,不能只看当前数值接近。
染色题记录末色并合并对称颜色;数位加法题记录可达进位的集合,还须分清正加数与零加数的边界。
已记下,谢谢!