该文被密码保护。 阅读全文
摘要:
思路 比较典的 ODT 题目。 发现排序是一个非常有性质的操作。 它对区间的更改与颜色段均摊差不多。 那么我们可以想到用 ODT 来维护这一整个序列。 具体的,区间排序操作可以用 ODT 维护每次排序产生的段,每段用线段树维护排序后的结果。 每次修改就可以进行线段树的分裂与合并。 如何查询。 可以发 阅读全文
摘要:
题解怎么都是用暴力日过去的啊。 思路 考虑根号分治,设阈值为 \(B\)。 对于第二维出现次数超过 \(B\) 的,我们可以在修改时暴力更改,这部分复杂度为 \(O(\frac{nm}{B})\)。 对于第二维出现次数小于 \(B\) 的,我们可以在修改是打标记,查询时遍历一遍,这部分的复杂度为 \ 阅读全文
摘要:
思路 看到时限这么大,考虑暴力做法。 我们将原序列分为 \(\text{B}\) 个块,每个块类似线段树三一样的维护 \(add,maxadd\),表示这一块需要加的值,加的值的历史最大值。 同时对于每个数可以维护一个真实值与一个历史最值。 那么下传标记可以写成这样。 inline void pus 阅读全文
摘要:
最开始没看到子树的限制,以为是个极其困难题。 思路 由于问题是在子树下,可以考虑在 dfn 序上扫描线。 考虑一个点 \(u\) 对 \(v,d\) 的贡献。 令 \(dep_u\) 为 \(u\) 的深度,\(mdep_u\) 为 \(u\) 的子树下的最大深度。 \(dep_u< dep_v\) 阅读全文
摘要:
思路 题目即要求删除区间中的一个或多个颜色。 考虑假如枚举删除颜色 \(k\)。 那么在 \(l,r\) 中的答案为: \[\max_{i=1}^{m+1} a_i-a_{i-1} \]其中 \(a_i\) 为颜色 \(k\) 在 \(l\sim r\) 中的出现位置,\(a_{0}=l,a_{m+ 阅读全文
摘要:
非常厉害的一道交互题。 思路 由于交互库会说谎,我们考虑把两次询问划分成一组。 结论:假如一个集合在两次询问中都为不成立,那么这个集合也就一定不成立。 证明显然,因为这两次中总有一次时真话。 那么我们就可以想到一个比较暴力的想法。 每一次把集合划分为四个,\(S_{0,0},S_{0,1},S_{1 阅读全文
摘要:
好有意思的题目啊。 出题人太厉害了。 思路 考虑一个结论: 我们将两个没插旗的点与中间的点称为一段,其中中间的点必须全部插旗。 那么这一段如果已知两座山的高度,就一定可以得知所有的高度。 考虑为什么。 加入这一段是 \(a\sim b\)。 \[\begin{cases} h_a+h_{a+2}=2 阅读全文