暑假集训CSP提高模拟1

暑假集训CSP提高模拟1

唐完乐!

  1. T1 Start

    大模拟,之前还做过。结果照样挂 90pts

    细节较多,比较坑的是除法要向下取整,而 / 是向 \(0\) 取整。

  2. T2 mine

    \(DP\) 已经简单到不能在简单了。

    \(dp_{i,0/1/2}\) 表示到第 \(i\) 位,\(0\) 后面不放雷,\(1\) 后面放雷,\(2\) 自己是雷。

    转移显然。

  3. 小凯的疑惑

    因为能被表示的数一定是 \(\gcd(x,y)\) 的倍数。

    \(x,y\) 不互质时,有无数多个。

    \(x,y\) 互质时,简单分析剩余系得 \(> xy-x-y\) 的数一定能被表示,这里为方便用 \(xy\) 即可。

    考虑每举有几个 \(y\),答案显然是 \(xy - \sum\limits_{i=0}^{x-1}( \left\lfloor \frac{xy-iy}{x} \right\rfloor + 1) + 1\),最后加一是因为 \(0\) 被多减了。

    其实 \(10^8\) 已经能过了,但还可以化简。

    \[\begin{aligned} xy - \sum_{i=0}^{x-1}( \left\lfloor \frac{xy-iy}{x} \right\rfloor + 1) + 1 &= xy - \sum_{i=0}^{x-1} (y + 1 - \left\lceil \frac{iy}{x} \right\rceil) + 1\\ &= xy - x(y+1) + 1 + \sum_{i=0}^{x-1} \left\lceil \frac{iy}{x} \right\rceil\\ \end{aligned}\]

    \(t=\sum\limits_{i=0}^{x-1} \left\lceil \frac{iy}{x} \right\rceil\)

    \[xt=\sum_{i=0}^{x-1} iy + \sum_{i=0}^{x-1} ((x-iy)\bmod x) \]

    考虑 \(x,y\) 互质,所以 \(\sum\limits_{i=0}^{x-1} (iy\bmod x)\) 恰好是 \(\sum_{i=0}^{x-1} i\),所以

    \[xt=\sum_{i=0}^{x-1} iy + \sum_{i=0}^{x-1} ((x-iy)\bmod x)=\frac{x(x-1)}{2}y+\frac{x(x-1)}{2} \]

    \[t=\frac{y(x-1)}{2}+\frac{x-1}{2} \]

    所以原式:

    \[xy - x(y+1) + 1 + \frac{y(x-1)}{2}+\frac{x-1}{2}=\frac{xy-x-y+1}{2} \]

  4. 春节十二响

    从上往下不好做,考虑从下往上。

    显然贪心,子树中从大到小匹配,取 \(\max\) 即可。

    可以启发式合并维护。

posted @ 2024-07-18 18:52  xrlong  阅读(27)  评论(2编辑  收藏  举报