2024.10.26 CSP
当天:

上午前两题模拟即可,第三题打个表即可,应该问题不大
民间数据code \(\quad\) 民间数据code \(\quad\) 民间数据code
第四题一开始想的是图论建模,通过分块优化建图转化为在 \(O(m)\) 点 \(O(m)\) 边(边权 \(0/1\))的图上求出超级源点到某个点是否存在长度为某长度的路径,时间复杂度正确,但常数极大,也没调出来,最后大概 \(60\)
赛后遇到 \(cat\),交流了一下,正解是 \(dp\),思路类似这篇
下午第一题直接模拟
第二题求出每个车对应的可以检测到它超速的监控的下标区间,区间不为空的数量为第一问答案,令 \(f_i\) 表示前 \(i\) 个监控中保留的数量,则每个区间 \([L,R]\) 转化为 \(f_R-f_{L-1}\ge 1\),即 \(f_R\ge f_{L-1}+1\),直接向后递推即可,瓶颈在于求区间时的 \(\log\)
第三题只打了 \(n^2\) 和 \(nV\) 的暴力,大约 \(65\),赛后听讲解大概懂了
令 \(f_i\) 表示前 \(i\) 个位置,其中第 \(i\) 个位置颜色和前一个不同的最大 \(\sum_{1\le j\le i}c_j\),然后相同颜色的一段一起计算,\(f_i=\max_{1\le j<i}(f_j+[a_i=a_{j-1}]a_i+\sum_{k=j+1}^{i-1}([a_k=a_k-1]a_k))\)
最后一项可以拆成只和 \(j\) 有关的一项和只与 \(i\) 有关的一项,则 \(f_i=\max_{1\le j<i}(f_j-pre_j+[a_i=a_{j-1}]a_i)+pre_{i-1}\),维护到当前为止 \(f_j-pre_j\) 的最大值和每个 \(v=a_{j-1}\) 对应的最大值即可做到线性时间
类似这篇
第四题拿了最基础的一档和 \(A\) 性质,\(B\) 性质没有调出来,大概 \(28\)
学习了这篇
11.4:查出 J 组 100+100+100+60,S 组 100+100+65+28

浙公网安备 33010602011771号