题意 : 给出圆上均匀分布的 个点,要求连接 条弦,使得每个点只连接一条弦。
已给出
条弦,问在所有连边方案中,弦形成的联通块数目的和。
答案对 取模。
,时限 。
将圆转化为
的序列。可以发现两条弦
相交当且仅当两区间相交但不包含(部分相交)。
对于每个联通块,将其拍扁形成覆盖区间
。某组方案内,各个联通块的覆盖区间都不会部分相交。
考虑每个覆盖区间
的贡献系数。
记 表示点 连出弦的另一个端点。 成为覆盖区间,当且仅当:
考虑如何计算方案数。
记 为 个点内部随意匹配的方案数, 为区间 内(初始时)没有弦相连的点数, 表示只考虑点 的方案数。
则 成为覆盖区间的方案数为
。
显然有
。
对于 ,考虑将 内的点随便连,然后减去 不连通的情况。即:
和式中枚举的是第一个联通前缀,可以做到不重不漏。(经典技巧)
复杂度为 。