2025/03 & 2025/04 做题记录

· · 个人记录

绿色是自己做出来的,红色是自己没做出来的。

文化课选手做几个 OI 题陶冶情操,所以这里没几个题。

\color{green}\text{P8478 「GLR-R3」清明}

\color{green}\text{CF2045K GCDDCG}

\color{red}\text{P10175 「OICon-02」Subtree Value}

\color{red}\text{P9157 「GLR-R4」夏至}

\color{red}\text{P8570 [JRKSJ R6] 牵连的世界}

\color{red}\text{P6837 [IOI 2020] 数蘑菇}

\color{green}\text{P11927 [PA 2025] 重金属 / Heavy Metal}

\color{red}\text{CF2048H Kevin and Strange Operation}

\color{red}\text{P8519 [IOI 2021] 钥匙}

\color{green}\text{CF1687D Cute number}

\color{green}\text{[AGC045A] Xor Battle}

\color{red}\text{[AGC044E] Random Pawn}

\color{green}\text{P6222 「P6156 简单题」加强版}

直接莫反就是 O(n \log \log n+T \sqrt n) 可以通过。瓶颈是求一个积性函数和 \mu 的卷积。实际上两个积性函数卷积是可以 O(n) 做的,做法是直接对结果函数线性筛。

\color{green}\text{P7486 「Stoi2031」彩虹}

取个 \ln 就是莫反板子题。

\color{red}\text{Gym103428C Assign or Multiply}

简单转化一下就变成了:循环卷积意义下 01 背包,对每个 i 判断是否存在方案。考虑 01 背包的转移过程,显然把 0 变成 1 只有 O(m) 次,问题是怎么找到这些转移。考虑定义函数 f(l_1,r_1,l_2,r_2) 代表用区间 [l_1,r_1] 的 1 更新 [l_2,r_2],用哈希判掉两个区间已经相同的情况,其它情况都暴力往下递归分治做。这样我们递归到叶子要么左区间是 1 右区间是 0,要么反之。前者是我们要找的,后者考虑模意义的性质,一个环上的 01 和 10 个数相等,所以势能是对的。复杂度 O(m \log^2 m)