思路一: 考虑lucas定理,mod 4意义下,每一个组合数都不能是0 所以,把n变成四进制数,然后数位dp即可 f[i][0/1][0/1/2/3]表示,前i位,有没有限制,mod 4 的值是0/1/2/3 发现,4=2^2,所以如果出现一个0或者两个2都可以 所以,简化一下:f[i][0/1][0/1/2]表示,前i位,有没有限制,2的次幂出现了0,1,2次,(来一个0直接相当于出现2个2) 最后答案是:f[len][0/1][2] len大概不到5000 但是dp要高精(可以压18位) 原…