A. Contest Proposal
暴力。
B. CoinGames
简单博弈论。
C. Permutation Counting
首先对于 a1=a2=⋯=an,最优排列为 [1,2,⋯,n,1,2⋯n]。
然后自己看代码。
D1. Reverse Card (Easy Version)
n∑i=1m∑j=1[j×gcd
\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 的值。