考虑4.1校本最后一题第三问:设 \(D_{n}^i\) 表示 \((x^2+x+1)^n\) 的 \(x^i\) 项系数,求 \(\binom{2025}{0}D_{2025}^0-\binom{2025}{1}D_{2025}^1+...\binom{2025}{2025}D_{2025}^{2025}\)。存在一种多项式技术的做法,而且标答也是这种做法。我当场就被吓死了。
本文旨在用尽可能通俗的语言介绍多项式技术于高中排列组合问题的简单应用,且此类题目已经存在,足以说明其应用价值,而非简单的装逼。
多项式概念与引入
设这样几个多项式
它们三个都是无穷次多项式,这样做是为了省去边界的影响。
称 \(h=f*g\),即 \(h(x)\) 为 \(f(x),g(x)\) 的卷积。其实就是把两个多项式乘起来,叫这么一个装逼的名字是因为这个成绩的每一项都具有一定性质。
研究 \(h(x)\) 的 \(k\) 次项系数,发现这一系数是由所有满足次数和为 \(k\) 的 \(a_ix^i\) 与 \(b_jx^j\) 的乘积的和组成的。也就是
以 \(h(x)\) 的五次项举例,它就是由
组成的,就是
还是很好理解的。
依靠这种卷积后的没一项都满足的这种次数一增一减的神秘小性质使得我们可以用多项式卷积来解决一些神秘的小问题。
比如说现在有 \(n\) 个人,第 \(i\) 个人有 \(a_{i,j}\) 张 \(j\) 块钱,现在要求每个人拿出一张任意面额的钱,求凑出一张面值为 \(m\) 的钱的方案数。
就可以设第 \(i\) 个人是一个长成这样的多项式:
然后计算出 \(\prod_{i=1}^nf_i(x)\) 这个大多项式(就是把所有f卷积/乘法起来)。那么这个大多项式的 \(m\) 次项即为所求,想一想为这么。
这个办法有一个很装逼的名字叫生成函数,不提。
那么这个玩意看似很牛逼,实际算起来就很蛋疼了,因为我们虽然能用多项式表示组合意义,但是计算的过程本质是不减的。
回到上文,不难发现难算的本质原因是因为卷积的过程过于麻烦,如果我们可以快速得到多项式卷积后的某些想要的系数,多项式方法就能非常无脑强大。
那么如何快速求这样的卷积?在计算机科学中可以使用fft,ntt等。高中数学的话,二项式定理不就能?仔细想想,二项式定理使得我们可以很快求出若干二次多项式卷积后某一次数的结果(\((x+1)^n\) 就是把 \((x+1)\) 这个多项式连续卷积了 \(n\) 次,系数是组合数),这不正是多项式方法发挥作用的前提条件吗?
进一步凝练在高中数学中的应用条件:可以用次数表示组合意义,或者说所求的就是多项式卷积后的某个次项的系数,并且多项式卷积过程可以使用二项式定理快速处理。
回到校本里那道题,现在已知 \(\binom{n}{i}\) 就是 \((x+1)^n\) 的多项式系数,\(D_{n}^i\) 就是 \((x^2+x+1)^n\) 的多项式系数,看一眼问你的东西:
\(\binom{2025}{0}D_{2025}^0-\binom{2025}{1}D_{2025}^1+...\binom{2025}{2025}D_{2025}^{2025}\)
这个东西还不太是卷积,想一想组合数的性质:\(\binom{n}{m}=\binom{n}{n-m}\),然后把上面的组合数全部取反不就是
上指标恰好是对应多项式第 \(i\) 次的系数,那这个式子不就是求多项式 \(f(x)=(x^2+x+1)^n\) 与 \(g(x)=(1-x)^n\) 的卷积的 \(2025\) 次项系数吗?
再观察这个卷积的神秘形式
这就是一个二项式定理的形式了,要求的是 \(2025\) 次系数,那就是 \(\binom{2025}{675}((-x)^3)^{675}\) 这一项的系数,就是 \(-\binom{2025}{675}\)。问题解决。