jzoj6233

题意

你需要构造一个$n$个点的二分图 定义$F(A)$表示左部点集$A$能够到达的右部中的点 使得满足 \(F(A)<|A|\) 的集合恰好有 \(k\) 个 $1≤n≤32 , 0≤k≤2^n$

做法

显然$k=2^n$时无解 反过来考虑$|F(A)|\ge |A|$

结论1:强制$F_ \subset F_{i+1}$,记$d_i=|F_i|$,强制$d_i-d_=0or1$,令$B={x|d_x-d_=1}\(,设\)|B|=m$,则满足$|F(A)|\ge |A|\(的子集个数为\)\sum\limits_^m {n\choose i}-{B_i-1\choose i}$(不考虑空集)

证明: 这里证明$B_1=1$的,然后$B_1$等于其他数的大体过程也是下面这样,但有些细节不同 $\begin\ F&=\sum\limits_n \sum\limits_{i-1\choose j-1}\ &=\sum\limits_m \sum\limits_{B_{k+1}-1}\sum\limits_^k {i-1\choose j-1}\ &=\sum\limits_^m \sum\limits_k \sum\limits_{B_{k+1}-1}{i-1\choose j-1}\ &={B_2-1\choose 1}+\sum\limits_^m \sum\limits_^k {B_{k+1}-1\choose j}-{B_k-1\choose j}\ &=\sum\limits_^m {n\choose i}+\sum\limits_^m \sum\limits_k -{B_k-1\choose j}+\sum\limits_{B_k-1\choose j}\ &=\sum\limits_^m {n\choose i}-{B_i-1\choose i}\ \end$

结论2:将$d_i-d_$写成二进制的形式,$d_1-0$为最低位,$d_-d_$为最高位。将这些数二进制中$1$的个数为第一关键字,大小为第二关键字,第一关键字升序排,第二关键字降序,那么这个数的排名就是$|F(A)|\ge |A|$的子集个数

证明: $(1)$$1$个数不同 \(F_{m+1} - F_{m} \ge {n\choose m+1}-({n\choose m+1}-{n-m-2\choose 0})={n-m-2\choose 0}\ge 1\) $(2)$$1$个数相同 同$(1)$类似

利用结论2随便搞一下就好了

题外话

公式细节好多啊... 结论$2$的弱化版就是二进制与$k$是一一对应的,不是很懂,哪位大佬知道在下面说一下吧

猜你喜欢

转载自www.cnblogs.com/Grice/p/12663620.html
今日推荐