组合数学

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}$$

posted @ 2020-09-01 23:47  ytmmy  阅读(234)  评论(0)    收藏  举报