A. 棋盘
打表发现$ans_i=ans_{i-1}*i+[i$&$1]?-1:1$
然后写高精度就完了。
所以这个式子的原型其实是:
$ans_i=ans_{i-1}*(i-1)+ans_{i-2}*(i-1)$,
其含义可以直接画图理解。
对于前一个ans的每一种方案,
可以任取一个放在最后一行,这个贡献是$ans_{i-1}$。
对于前一个ans中恰好一位不合法,放到了黑子上的一种方案,
将它不合法的一位放到最后也可以贡献一种方案,这个贡献是使其它位合法,即$ans_{i-2}$。
要证$ans_i=ans_{i-1}*i+[i$&$1]?-1:1$
只要证$ans_i=ans_{i-1}*(i-1)+ans_{i-1}+[i$&$1]?-1:1$
由$ans_i=ans_{i-1}*(i-1)+ans_{i-2}*(i-1)$
只要证$ans_{i-1}+[i$&$1]?-1:1=ans_{i-2}*(i-1)$
移项之后就可以得到$ans_{i-1}=ans_{i-2}*(i-1)+[i-1$&$1]?-1:1$
带入$i=3$,正确性是显然的,所以这个式子可以归纳证明。
另一个很好的做法是,将本题转化为错排问题,
问题为:大小为n,满足第i个元素不排在第i位的排列有多少个。
所以可以进行容斥。
设$f(i)$表示至少i个元素排在了原位,那么有:
$$f(i)=(n-i)!$$
$$ans=sum limits_{i=0}^{n}(-1)^i inom{n}{i} f(i)$$
$$ans=sum limits_{i=0}^{n}(-1)^i frac{n!}{i!}$$
B. 传递
直接按照给定的题意做,因为数据范围比较小,用$bitset$优化一下就可以AC。
正解是:
将P中的边插入图中,分别将Q中的边正反插入图中,
如果两次插入后都可以成功拓扑排序,那么答案为T,否则答案为N。
原因是:如果拓扑排序不能成功,那么该图中存在环。
如果存在环,那么必定存在一种情况使得P或Q不传递。
如果两次拓扑排序都成功了,因为两图的并图为竞赛图,那么P和Q都一定是合法的。
C. 异或
诡异的数位dp,并不会做。