Gravatar
yrtiop
积分:2101
提交:309 / 808

Pro2936  [HAOI 2018]反色游戏

从整张图入手,有两种方法可以得出这道题的结论。

高斯消元:把矩阵列出来,不难发现矩阵的秩为 $n-1$,那么方案数即为 $2^{m-n+1}$。

构造法:我们考虑一棵树。根据经典的剥叶子型构造手法,我们可以得出一棵树的时候方案数唯一,除非要求 $1$ 的点数为奇数,那样状态异或和为 $1$,而我们的操作状态异或和始终为 $0$,所以构造不出来。反之我们随便抽出来一棵生成树,对于其它边,显然取或不取只会反转两个点的状态,而我们的构造法永远可以构造出唯一解,所以方案数就是 $2^{m-n+1}$。

然后我们考虑这个原问题。图上就那么几个知识点,这题又和割点强相关,那就考虑广义圆方树。

假设一开始有 $\rm cnt$ 个连通块,$i$ 有 $\mathrm{deg}_i$ 条连边,和 $\mathrm{cut}_i$ 个方点相连,并且 $i$ 断开后没有一个连通块内有奇点,那么方案数就是 $2^{m-n-\mathrm{deg}_i+\mathrm{cnt}+1+\mathrm{cut}_i}$。时间复杂度 $\mathcal O(Tn)$。甚至不用显式地建出来圆方树,因为我们只需要 $\rm sz$ 和 $\rm cut$ 两个数组,直接求割点就行。






2023-07-22 16:19:47    
我有话要说
暂无人分享评论!