用母函数与复数解决一个离散的集合问题

问题来自【官方双语】奥数级别的数数问题_哔哩哔哩_bilibili

求1~2000这些数字中,取若干个数字构成一个子集。

问:所有子集中,元素的和为5的倍数的集合有多少个?

一开始的想法是,先数从1~n的元素构成的集合。

比如,从{1,2}中选取子集,那么子集的元素的和有1,2,3;

然后,加上3这个数字,那么新增的集合有:

\begin{Bmatrix} 1,2 \end{Bmatrix}\cup \begin{Bmatrix} 3 \end{Bmatrix}, \begin{Bmatrix} 2 \end{Bmatrix}\cup \begin{Bmatrix} 3 \end{Bmatrix}, \begin{Bmatrix} 1 \end{Bmatrix}\cup \begin{Bmatrix} 3 \end{Bmatrix}

类似的,加上4这个数字,那么新增的集合有:

\begin{Bmatrix} 1 \end{Bmatrix}\cup \begin{Bmatrix} 4 \end{Bmatrix}, \begin{Bmatrix} 2 \end{Bmatrix}\cup \begin{Bmatrix} 4 \end{Bmatrix}, ......\begin{Bmatrix} 1,2,3 \end{Bmatrix}\cup \begin{Bmatrix} 4 \end{Bmatrix}

后来发现,可以用一个母函数表示这种关系:\large p(x)=(1+x)(1+x^2)...(1+x^{2000})

其中,指数代表着新增的集合中数字的和,而x^n的系数则代表和为n的集合有多少种。

每多一个乘积项,就代表引入一个新的数字。

p(x)=c_0+c_1x+c_2x^2+...+c_nx^n

则等于就是要求出:c_5+c_{10}+...+c_n

为此,引入一个复数\large \zeta=e^{i\frac{2\pi}{5}},可以看到\large \zeta,\zeta^2,...\zeta^5是沿着复平面原点延伸出去的5个向量,将一整个圆周五等份。

\large p(\zeta)=c_0+c_1\zeta+c_2\zeta^2+...+c_n\zeta^n

由于 1,2,3,4和5是互质的。因此\large (\zeta^2)^i,i=1,2,3,4,5 不过是将\large \zeta^1,\zeta^2,...\zeta^5进行了一下置换。

例如,\large (\zeta^2)^2=\zeta^4,(\zeta^2)^3=\zeta,(\zeta^2)^4=\zeta^3

所以可以写出下列式子:

\large p(\zeta^2)=c_0+c_1\zeta^2+c_2\zeta^4+c_3\zeta+c_4\zeta^3 +c_5+...

 \large \large p(\zeta^3)=c_0+c_1\zeta^3+c_2\zeta+c_3\zeta^4+c_4\zeta^2 +c_5+...

 \large \large \large p(\zeta^4)=c_0+c_1\zeta^4+c_2\zeta^3+c_3\zeta^2+c_4\zeta +c_5+...

注意到\large \large 1+\zeta+\zeta^2+\zeta^3+\zeta^4=0

所以\large \sum_{i=1}^5 p(\zeta^i)=5(c_0+c_5+...+c_n)

 下面求\large p(\zeta)p(\zeta)=((1+1)(1+\zeta)...(1+\zeta^4))^{400}

由于后面几项是共轭的,所以p(\zeta)=2^{400},同理\large p(\zeta^i)=2^{400}

故:\large c_0+c_5+...+c_n=\frac{2^{400}\times 4+2^{2000}}{5}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值