Atcoder FPS 24 记录
awa
A
记 \(f_{i,j}\) 表示前 \(i\) 天花了 \(j\) 块的方案,有转移 \(f_{i,j}=f_{i-1,j-1}+f_{i-1,j-3}+f_{i-1,j-4}+f_{i-1,j-6}\),边界是 \(f_{0,0}=1\)。
把 \(f_i\) 的生成函数写出来,也就是 \(F_i(x)=\sum\limits_{j=0}^{n}f_{i,j}x^j\),可以发现 \(f_i=f_{i-1}\times(x+x^3+x^4+x^6)=(x+x^3+x^4+x^6)^i\),答案就是 \((x+x^3+x^4+x^6)^d\) 的 \(n\) 此项系数。
直接把多项式快速幂写上去会 T 掉,可以发现 \(x+x^3+x^4+x^6=x(1+x^2)(1+x^3)\),用二项式定理拆一下,然后做一遍多项式乘法就行。
B
比 A 简单。
可以发现 \(a+c\) 和 \(b+d\) 都一一对应一个非负整数,答案就是 \(n+1\)。
C
根据 A 的套路可以得到答案是 \((x^m+x^{m-1}+\dots+x+1)^n\) 的 \(s\) 次项系数。
做个多项式快速幂就可以了。
D
显然 \(a_i\) 两两不同,因此可以求出 \(a\) 升序排列的方案,最后再乘上 \(n!\)。
给 \(a\) 做个差分,可以发现 \(a_2\sim a_n\) 全是奇数,\(a_1\) 没限制,\(\sum a_i\le m\),且固定 \(a_2\sim a_n\) 后 \(a_1\) 有 \(m-\sum\limits_{i=2}^{n}a_i+1\) 种取值,可以对每个 \(k\) 求出 \(\sum\limits_{i=2}^{n}=k\) 的方案数。
记 \(p\) 为小于等于 \(m\) 的奇数中最大那个,\(l=n-1\),根据 C 的套路可以得到答案是 \((x^p+x^{p-2}+\dots+x^3+x)^l\) 的 \(k\) 次项系数。
做个多项式快速幂就行了。
E
假设每个数的出现次数固定,\(i\) 出现了 \(c_i\) 次,那么答案就是 \(\frac{n!}{\prod c_i!}\),直接对着这个 dp 就行。
记 \(f_{i,j}\) 表示考虑了 \(1\sim i\),序列里一共有 \(j\) 个数,转移 \(f_{i,j}=\sum\limits_{k=0}^{\min(i,j)}\frac{f_{i-1,j-k}}{k!}\),答案是 \(n!\times f_{m,n}\)。
F
记 \(f_{i,0/1,0/1}\) 表示 \(i\) 个格子,蓝色数量是奇/偶,绿色数量是奇/偶,答案就是 \(f_{n,1,0}\)。
转移就是 \(f_{i,j,k}=f_{i-1,j,k}+f_{i-1,j\oplus1,k}+f_{i-1,j,k\oplus1}\),直接矩阵快速幂就做完了。
G
删背包板子。

浙公网安备 33010602011771号