做题记录 25.5.25
\(\textcolor{blue}\odot\) CF1834E MEX of LCM
答案显然不超过 \(O(n^2)\),对于每个左端点 \(O(n^2)\) 内的 \(\text{lcm}\) 数量不超过 \(O(\log n)\),因此实际有效值数量为 \(O(n\log n)\) 的,即实际上答案不超过 \(O(n\log n)\)
从右往左扫描,设当前扫到 \(l\),维护集合 \(S\) 表示以 \(l\) 为左端点不超过 \(O(n\log n)\) 的 \(\text{lcm}\) 的集合,\(l\) 移动时暴力枚举 \(S\) 中的 \(u\),令 \(u\gets \text{lcm}(u,a_l)\),然后把 \(a_l\) 加入 \(S\)
答案为 \(\text{mex}(\{0\}\cup\bigcup_{i=1}^n S_i)\)
时间复杂度 \(O(\sum n\log n\log V)\)
\(\textcolor{purple}\odot\) CF1839E Decreasing Game
后手必胜当且仅当可以把 \(a\) 划分为两个子集使得两者的和相同
证明:
- 考虑归纳
- \(\forall i,a_i=0\) 时显然
- 否则假定对于 \(\forall i,a'_i\le a_i\) 且 \(a'\ne a\) 的 \(a'\) 都满足,考虑 \(a\)
- 若当前 \(a\) 可划分为 \(S_1,S_2\) 使得 \(\sum_{u\in S_1} a_u=\sum_{u\in S_2} a_u\),设这一局先手选择了 \(a_u\),后手选择了 \(a_v\),若 \(u\in S_1,v\in S_2\)(或交换),显然操作后仍然有 \(\sum_{u\in S_1} a_u=\sum_{u\in S_2} a_u\)
- 即该情况下选择 \(a_v>0\) 且 \(u,v\) 不属于同一集合的 \(v\) 即可
- 否则设先手选择了 \(a_u\),后手选择了 \(a_v\),则操作后 \(a\) 必然无法划分为两个等和的集合,否则设操作后划分为 \(S_1,S_2\),若 \(a_u\in S_1,a_v\in S_2\)(或交换),则操作前显然也可划分为 \(S_1,S_2\),矛盾,若 \(a_u,a_v\in S_1\)(或相反),则在操作前把两者中较小的一个移到 \(S_2\) 中也可划分,矛
- 即该情况下选择任意 \(a_v>0\) 即可

浙公网安备 33010602011771号