AtCoder Beginner Contest 378

Contest Link

还得加练。

A & B & C & D

不具备任何思维含量。

E

注意到它计算答案的式子,每个子区间和都需要取模,否则就是沙币题了,可以对于每个位置 \(O(1)\) 地统计答案扫过去然后 \(\bmod M\)

常规地,记 \(S_i = \sum_{j \leq i} a_j\),改写式子为:

\[\sum_{1 \leq l \leq r \leq N} (S_r - S_{l - 1}) \bmod M \]

注意到取模比较烦人,化简为

\[S_{r} - S_{l - 1} + \begin{cases} 0 &(S_{l - 1} \leq S_{r}) \\ M &(S_{l - 1} \gt S_{r}) \end{cases} \]

注意到 \(a_i \leq 10^5\),用树状数组维护一个数值桶 \(bit_i\),记 \(k = \sum_{i \gt s_r} bit_i\),得到:

\[\sum_{l \leq r} (S_r - S_{l - 1}) + kM = r \times S_{r} - \sum_{l \leq r} S_{l - 1} + kM \]

做完了啊。

就是这个从 0 开始的 Fenwick 比较蛋疼。

Submission E

F

统计:

  • \(deg_u, deg_v\) 的度数都是 \(2\)
  • 连接 \(u, v\) 的简单路径上所有点的度数都是 \(3\)

枚举度数为 \(3\) 的子图构成的连通分量,设 \(c\) 为与该分量相邻的度数为 \(2\) 的顶点数量,然后对答案的贡献为 \(\frac{c(c - 1)}{2}\)

学了一下 lambda,感觉挺好用的,但是难背,多用吧。

Submission F

G

杨表,周末补。

posted @ 2024-11-06 21:44  revkiru  阅读(10)  评论(0编辑  收藏  举报