日记 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

https://www.cnblogs.com/caijianhong/p/solution-CF1762E.html

posted @ 2023-11-06 15:13  caijianhong  阅读(21)  评论(0编辑  收藏  举报