ABC247F题解
题意:
给你 \(n\) 张卡片,每一张的正面写着 \(p_i\) ,背面写着 \(q_i\) 。现在要选一些卡片出来,使得 \(1\sim n\) 中所有数都在选择的卡片中至少出现一次。问有多少种选法。
\(p\) 和 \(q\) 都是 \(1\sim n\) 的排列。
明显的,可以将这个题转化为一个图论题。设数字 \(m\) 在 \(p,q\) 中出现的下标分别为 \(i,j\) ,则在 \(i,j\) 间连一条边。给这些点染色,使得每条边连接的两个节点中至少有一个点被染色了。
那显然每个节点的度数都是 \(2\) 。同样显然的构造出的图一定由若干个环组成。所以可以将每个环分开计算。
对于一个环,有两种计算方法。
- DP。因为我不会写,这里从略。
- 找规律。明显当环上点的个数为 \(1,2,3,4,5,\ldots\) 时解的个数分别为 \(1,3,4,7,11,\ldots\) 。
于是我们就想到了这个。算一下即可。最后把每个环乘起来。