题意
给定一个$n$个点的完全图,第$i$个点的点权为$2^{i-1}$。给定一个边集,对于一个点集,要求边集中的每一条边至少有一个端点在点集中,并保证点集的权值和最小。现在给一个点集,问有多少种满足条件的边集。
思路
我们令在点集中的点为关键点,不在点集中的点为非关键点,满足条件的边集中的关键点$u$连接情况满足以下条件:
在编号大于$u$的点中,至少有一个非关键点与$u$相连。
简单证明一下这个条件。
考虑反证法,假设与关键点$u$相连的点编号全部小于$u$,由于点权编码的性质,$10000>01111$,此时即使将所有比它小的关键点选中,权值和仍然小于选择$u$的花费,所以这时$u$不可能是关键点。因此,必然至少有一个大于$u$的点$v$与$u$相连。
为什么点$v$至少需要有一个非关键点。同样考虑反证法,假设与$u$相连的点集$v$全为关键点,那么以$u$为端点的边已经全部被选取,为了使点权和最小化,这时候不需要选取$u$,因此这种情况下$u$不是关键点。
此时可以推出在编号大于$u$的点中,至少有一个非关键点与$u$相连。
满足这个条件的连边方式可以保证所给的点集是权值和最小的取点方案。在满足该条件后,关键点可以向其余点任意连边,因为从关键点出发的边已经被覆盖,且选取其它点的权值和必然大于选择该点。为了避免重复计数,对于关键点$u$,我们只向小于$u$的点统计连边方案。
因此对于每个关键点,连边满足以下条件:
- 在编号大于$u$的点中,至少有一个非关键点与$u$相连;
- 在满足条件1的情况下,对于编号小于$u$的点,可以有任意个点与点$u$相连;
最后的式子为$$\prod_{i\in{set}}2^{i-1}·(2^{cnt({v>i}\bigcap{v\notin{set}})}-1)$$
代码
嘴巴选手写什么代码我有空再补咕咕咕