题目描述
求 个点的无向完全图删去一条边之后圈的个数,答案模 。
注:圈指的是任选一个顶点为起点,沿着不重复的边,经过不重复的顶点为途径,之后又回到起点的闭合途径。
输入格式
第一行一个整数 ,表示数据组数。
接下来 行,每行一个整数 ,意义如描述所述。
输出格式
一共 行,每行一个整数,表示答案。
输入输出样例 #1
输入 #1
输出 #1
说明/提示
前 的数据满足
另外 的数据满足 $ 9.99\times 10^2 \leq n \leq 10^3$
另外 的数据满足 $ 9.99\times 10^4 \leq n \leq 10^5$
另外 的数据满足 $ 9.99\times 10^8 \leq n \leq 10^9$
所有数据满足
题解
用 表示本题的答案, 表示 个点的完全图中的环数, 表示 个点的完全图中某特定两点间的路径数。
考虑在 个点的完全图中增加一个点 ,成为 个点的完全图删去一条边之后的图,不妨设 和 之间没有边。显然, 中的环必然在 中。另外与点 有关的环,必然是 的形式,其中 。因此有:
考虑在 个点的完全图中增加一个点 ,成为 个点的完全图。显然, 中的环必然在 中。另外与点 有关的环,必然是 的形式,其中 。因此有:
对于 ,显然有
转化为递推式
线性递推可以解决 60% 的数据。对于最后 40% 的数据, 的取值区间只有 ,打表后递推即可。