组合数学
Anna and Lucky Tickets
找不到来源,只有名字。
给出 n,求有多少个 n 位数字串是回文的,且奇数位的数字和等于偶数位的数字和。 测试点个数 ≤ 10,n ≤ 10^6。
题解
n 为偶数的情况很简单,奇数位的数回文之后就是偶数位,同理偶数位的数回文之后就是奇数位。于是只要填的是回文就直接满足奇数位之和等于偶数位之和。所以答案就是 $10^(n/2)$。
接下来使 n 为奇数的情况,我们分成 4k+1 和 4k+3 两类。
我们先看一个弱化版的问题:求有多少种数字串满足 $x_1+x_2+\dots+x_k=n, 0 \le x_i \le 9$。
做法:如果只有大于等于 0 的条件,那么就是隔板法
先来看 4k+1 的情况。
假设这 n 个数是 $x_1,x_2,\dots,x_{4k+1}$。奇数位等于偶数位就是
$$2(x_1+x_3+\dots+x_{2k-1})+x_{2k+1}=2(x_2+x_4+\dots+x_{2k})$$
$$x_1+x_3+\dots+x_{2k-1}+\frac{1}{2}x_{2k+1}=x_2+x_4+\dots+x_{2k}$$

浙公网安备 33010602011771号