$Div.2$
A Distinct Digits
$l,r$ 比较小,不需要数位 $dp$ ,直接按照题意模拟即可.
B Filling the Grid
每个 $r,c$ 都可以确定一些格子的颜色.如果出现矛盾,答案为 $0$ .
否则没有被确定颜色的 $k$ 个格子可以任意选颜色,答案为 $2^k$ .
写完直接测第三个样例,就交上去了,把 $C$ 写了才发现 $B$ 没过,没判无解的情况…
C Primes and Multiplication
$x$ 的各个质因子之间贡献独立,分开计算.
一个质因子 $p$ 的贡献显然是 $\prod p^{n/p^k}$ ,注意判断是否令 $k$ 增加 $1$ 继续循环时,需要用除法判断,否则会爆 $\rm long\ long$ .
D Complete Tripartite
先随便选一个点 $x$ ,尝试将所有点划分成两个集合.
将 $x$ 加入第一个集合,若 $y$ 与 $x$ 有边,则加入第二个集合,否则加入第一个集合.
然后再在第二个集合中选一个点 $x$ ,将第二个集合划分成两个集合.
若划分后出现了空集,则无解.最后需要判断一下集合内的点是否没有边,以及跨越集合的点对都有边.
可以枚举每一个点 $u$ 和它的邻居 $v$ ,判断所有的 $v$ 是否恰好覆盖了 $u$ 所在集合外的所有点.
E Another Filling the Grid
直接容斥,枚举有 $x$ 行 $y$ 列一定没有 $1$ .
$x=n$ 或者 $y=n$ 的贡献只能算一次,因为它们都是覆盖了整个矩形,而其他情况显然都是互异的.
F One Node is Gone
注意到删掉一个点后,根节点一定是直径最中间的两个点之一.
Case 1
若删掉的点是根节点的儿子,直径会 $-1$ ,就可能产生两个答案,且根节点为直径最中间的那两个点之一.
还需要判断它们的子树是否都是满二叉树.
Case 2
删掉的点不是根节点的儿子,此时直径不变,为偶数,只可能有一个答案,且根节点为直径最中间的那一个点.
可以将剩下的树遍历一次,对于度数异常的点进行判断.
若度数为 $1$ 或 $3$ ,那么这个节点是正常的.
若度数为 $2$ ,那么被删的是它的儿子.只需判断它剩下的那个儿子是不是叶子.
若度数为 $4$ ,那么被删的是它的儿子.需要判断它的三个儿子的子树是否都是满二叉树,且高度为 $h,h,h+1$ .
若度数 $>4$ ,显然不合法.
若有多个度数异常的点,显然也不合法.
判断某个子树是否为满二叉树,可以对树 $dfs$ 处理.
这颗子树为满二叉树,当且仅当它是叶子,或左右儿子的子树都是满二叉树,且高度相同.