传送门:https://ac.nowcoder.com/acm/contest/9986/F 这一题其实很难的,不过过了那么多人就离谱,估计大部分都是OEIS的吧。
题意
$$输出C_n^0+C_n^4+C_n^8+…+C_n^n\;\;(4|n)$$
思路
$我们知道$ $(1+1)^n=C_n^0+C_n^1+…+C_n^n=2^n$ $(1-1)^n=C_n^0-C_n^1+…+C_n^n=0$
$两式相加除2得:$ $2^{n-1}=C_n^0+C_n^2+…+C_n^n$
$这是2的倍数,但是题目要求的是4的倍数,那该怎么办呢?$ $我们可不可以通过上面的方法凑出来呢?答案是可以的,考虑虚数i。$
$把其中一个1换成i之后,我们在二项式展开看看:$ $(1+i)^n=C_n^0+iC_{n}^1-C_n^2-…+C_n^n$ $(1-i)^n=C_n^0-iC_n^1-C_n^2-….+C_n^n$
$两式相加除2得$ $(1+i)^n+(1-i)^n=C_n^0-C_n^2+C_n^4-…+C_n^n$
$而虚数我们知道,在次幂的情况下都是有循环节的,比如这里就是4个一循环.$
$所以(1+i)^4=(1-i)^4=-4$ $所以(1+i)^{4n}=(-4)^{n}$
$即(-4)^{\frac{n}{4}}=C_n^0-C_n^2+C_n^4-…+C_n^n$
$结合两式相加除2即可得:$
$2^{n-2}+\frac{1}{2}(-4)^{\frac{n}{4}}=C_n^0+C_n^4+C_n^8+…+C_n^n$
Code
1 | # |
本文作者:jujimeizuo
本文地址: https://blog.jujimeizuo.cn/2021/02/24/2021-nowcoder-hanjia-6-f/
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0 协议。转载请注明出处!