$\mathcal{A.\ Contest\ Proposal}$
暴力。
$\color{black}{\mathfrak{code}}$
$\mathcal{B.\ Coin Games}$
简单博弈论。
$\color{black}{\mathfrak{code}}$
$\mathcal{C.\ Permutation\ Counting}$
首先对于 $a_1 = a_2 = \cdots = a_n$,最优排列为 $[1, 2, \cdots , n, 1, 2 \cdots n]$。
然后自己看代码。
$\color{black}{\mathfrak{code}}$
$\mathcal{D1.\ Reverse\ Card\ (Easy\ Version)}$
$$\sum_{i=1}^n \sum_{j=1}^m [j \times \gcd(i, j) \mid i + j]$$
$$\sum_{d = 1}^{\min\\{ n, m \\} \sum_{i=1}^{\lfloor \frac{n}{d} \rfloor } \sum_{j=1}^{\lfloor\frac{m}{d}}\rfloor} [\gcd(i,j)=1 \wedge j d \mid i + j]$$
所以 $j$ 必然等于 $1$,得到
$$\sum_{d = 1}^{\min\\{ n, m \\}} \lfloor \frac{\lfloor\frac{n}{d}\rfloor + 1}{d} \rfloor - [d=1]$$
$\color{black}{\mathfrak{code}}$
$\mathcal{D2.\ Reverse\ Card\ (Hard\ Version)}$
$$a + b \mid b \times \gcd(a,b) $$
设 $d = \gcd(a,b), a = a’d, b = b’d$
$$a’d+b’d \mid b’d^2$$
$$a’+b’\mid b’d$$
由于 $\gcd(a’,b’) = 1$,所以 $\gcd(a’+b’,b’)=1$ 于是
$$a’ + b’ \mid d$$
则有 $d > a’, a = a’d \leq n, a’ \leq \sqrt{n}$,同理有 $b’ \leq \sqrt{n}$,于是枚举 $a’,b’$ 即可。
$\color{black}{\mathfrak{code}}$
$\mathcal{E.\ Fenwick\ Tree}$
画出一颗树状数组,对于节点 $i$,$a_i$ 只对 $i$ 的祖先产生贡献,而 $i$ 的祖先最多 $O(\log n)$ 格。
假设有 $p$ 和其向上跳 $j$ 步的祖先 $q$,使用隔板法得到 $p$ 对 $q$ 的贡献为 $C_{j + k - 1}^{j} a_p$。
从小到大推,首先 $a_1$ 一定等于 $b_1$,然后将 $1$ 的祖先的 $b$ 减去 $1$ 对其的贡献,于是就可以推出所有 $a$ 的值。