很简单的一次考试,但T2忘了ta有环与rk1失之交臂(就当攒rp了)。最近两次考试都炸了,以后的考试要加油啦!
A. 棋盘
$ f[i]=sum_{i=1}^{i-1}[prod_{k=1}^{j}(i-k)]*f[i-j-1]] $
意思就是选完一行后去与它同列的黑子所在行填白子,之后枚举什么时候选与刚才那颗白子同行的黑子的那列即可。
递归边界:f[0]=1,f[1]=0
记忆化搜索+高精度即可
标程的思路:
首先可以把黑子都放到对角线上,显然这样对答案无影响
$ f[i]=(f[i-1]+f[i-2])*(i-1) $
意思是把原来的某一行的白子移动到第i列,分为那一行的白子是否在对角线上转移即可
B. 传递
bitset乱搞记录father和grandfather可A,不打Tarjan的话千万别Top
正解:假设p有a,b,c三点不合法:a->b,b->c,a没有边到c,因为是竞赛图所以q中一定有a-c的边,把q中的边分别正反向加入到p中,则p中一定会有一种情况出环,跑两次Top即可
正解比bitset快挺多的
C. 异或
强烈谴责Deepinc考前祝我考试A1个题