日记 2022.12.17:22年实验中学秋季训练 6
A. gym103428m
问有多少个长度为 \(n\) 的 01 串,其中有 \(m\) 个是 1,且最长连续的 1 的长度恰好是 \(k\)。数据范围 \(10^5\)。
Trick 1
容斥系数怎么算?
Trick 2
限制了这个串的长度和 \(1\) 的个数,这意味着什么?插板的东西是什么?
solution
错解
明显不顾最长连续段限制答案是 $g(n,m)=\binom{n}{m}$。然后我们令 \(f_k\) 表示当最长连续的 \(1\) 的长度至多为 \(k\) 的方案数。做法我猜是这样的:
- 先猜有 \(i\) 个连续段的长度飞出去了(\(>k\)),我们把它们的长度减掉 \(k\),然后数:\(g(n-ki,m-ki)\)。
- 盲猜容斥系数为 \((-1)^i\),所以 \(f_k=\sum_i (-1)^i g(n-ki,m-ki)\)。
- 明显这位选手没有考虑到容斥原理外面还有组合数的问题。
明显不顾最长连续段限制答案是 \(g(n,m)=\binom{n}{m}\)。
明显一共有 \(a=n-m\) 个零,相当于是将 \(m\) 个小球放入 \(a+1\) 个盒子里,要求每个盒子最少 \(0\) 个最多 \(k\) 个的方案数,我们记这个东西的答案为 \(h(m,a+1,k)\),最终答案为 \(h(m,a+1,k)-h(m,a+1,k-1)\)。
着力解决 \(h(n,m,k)\):将 \(n\) 个相同的小球放入 \(m\) 个互不相同的盒子里,要求每个盒子最少 \(0\) 个最多 \(k\) 个的方案数(变量名换了哦)
- 辅助 \(g(n,m)\):将 \(n\) 个相同的小球放入 \(m\) 个互不相同的盒子里,要求每个盒子最少 \(0\) 个
最多 \(k\) 个的方案数,明显 \(g(n,m)=\binom{n+m-1}{m-1}\)。 - 容斥。考虑钦定 \(i\) 个盒子溢出了,将这些盒子的球数减去 \((k+1)\)。现在数一下:\(\Delta=i(k+1),ans=g(n-\Delta,m)\)。
- 盲猜容斥系数为 \((-1)^i\binom{m}{i}\),所以 \(h(n,m,k)=\sum_{0\leq i} (-1)^i\binom{m}{i}g(n-\Delta,m)\)。
扩展:\(H(n,m,[L,R])\) 表示将 \(n\) 个相同的小球放入 \(m\) 个互不相同的盒子里,要求每个盒子最少 \(L\) 个最多 \(R\) 个的方案数,很不幸它是 \(h(n-mL,m,R-L)\)。
G. AGC059C
https://www.cnblogs.com/caijianhong/p/solution-AGC059C.html
H. CF1109D
https://www.cnblogs.com/caijianhong/p/solution-CF1109D.html
I. CF1762E
本文来自博客园,作者:caijianhong,转载请注明原文链接:https://www.cnblogs.com/caijianhong/p/16989009.html