CF1673C Palindrome Basis

题目描述

给定一个正整数 $n$。我们称没有前导零的正整数 $a$ 为回文数,如果将其数字顺序反转后仍然与原数相同。请你计算将 $n$ 表示为若干个正回文数之和的不同方案数。若至少有一种回文数的使用次数不同,则认为两种方案不同。例如,$5=4+1$ 和 $5=3+1+1$ 被认为是不同的方案,但 $5=3+1+1$ 和 $5=1+3+1$ 被认为是相同的方案。 形式化地说,你需要计算所有和为 $n$ 的正回文数的不同多重集合的数量。 由于答案可能很大,请输出答案对 $10^9+7$ 取模后的结果。

输入格式

输入的第一行包含一个整数 $t$($1\leq t\leq 10^4$),表示测试用例的数量。 每个测试用例包含一行,一个整数 $n$($1\leq n\leq 4\cdot 10^4$),表示需要用正回文数之和表示的目标数。

输出格式

对于每个测试用例,输出一个整数,表示所需答案对 $10^9+7$ 取模后的结果。

说明/提示

对于第一个测试用例,将 $5$ 拆分为正回文数之和的方案有 $7$ 种: - $5=1+1+1+1+1$ - $5=1+1+1+2$ - $5=1+2+2$ - $5=1+1+3$ - $5=2+3$ - $5=1+4$ - $5=5$ 对于第二个测试用例,将 $12$ 拆分为正整数之和的方案共有 $77$ 种,但其中 $12=2+10$、$12=1+1+10$ 和 $12=12$ 不是有效的回文数拆分方案,因为 $10$ 和 $12$ 不是回文数。因此,将 $12$ 拆分为正回文数之和的方案有 $74$ 种。 由 ChatGPT 4.1 翻译