看了官方题解,但是没有搞懂那两个“多次应用帕斯卡恒等式”得到的式子是怎么来的。
另外看到了一种神奇的做法,直接递推出了答案,希望有人能解释一下这种做法:
ans[0] = n;
for (int i = 1; i <= n * 3; ++i) {
ans[i] = C(N, i + 1) - C(2, i) - C(1, i) - C(0, i);
if (i >= 2) ans[i] = sub(ans[i], ans[i - 2]);
ans[i] = mul(ans[i], inv3);
ans[i] = sub(ans[i], ans[i - 1]);
}