计数菌
这里会整理一些计数题。
agc001e
转化。
考虑转成组合意义,相当于在网格上走。然后平移网格,变成一个类似多源 bfs 路径计数的东西。
agc002f
转化。
最后相当于 \(n\) 个白球,然后其他每种球各 \(k-1\) 个,同时每个前缀的白球数量 \(\ge\) 当前颜色数量。
然后有一个 dp,\(f_{i,j}\) 表示已经放了 \(i\) 个白球和 \(j\) 个颜色的方案数。
放白球的话直接扔到当前第一个空。否则要放一种新颜色,方案数就是先选一个颜色,然后为了避免算重,需要钦定一个该颜色的球扔到了第一个空(不难发现一定合法),然后在剩下 \(n\times k-(j-1)\times (k-1)-1\) 个空位里选 \(k-2\) 个即可。
agc005d
建图。
设 \(f_i\) 表示排列中至少有 \(i\) 处不合法的方案数,答案就是 \(\sum_{i=0}^{n}(-1)^i f_i\)。
然后把位置和值建出来一个二分图,对不合法的匹配连上边,那么现在形成了一堆不交的链,可以把这些链串起来。
于是设 \(f_{i,j,0/1}\) 表示前 \(i\) 个点,选了 \(j\) 条边,上一条边选没选的方案数。注意有一些边不可能被选,需要特判。
不难发现上面的 \(f_i=(n-i)!\times f_{2n,i}\),\(0/1\) 都要算上。
arc160d
加限制。
发现一个区间加 \(k\) 次和每个点加 \(1\) 次没区别,所以我们加一个限制,每个区间加的次数小于 \(k\)。
然后设 \(b_i\) 为 \(i\) 开头的区间加了几次,限制显然。
然后考虑钦定 \(i\) 个 \(b\) 不合法,进行容斥以及插板,那么答案就是 \(\sum_{i=0}^{n-k+1}(-1)^i\binom{n-k+1}{i}\binom{\frac{m}{k}-ik+2n-k}{2n-k}\)。

浙公网安备 33010602011771号