随笔分类 - 数据结构 -- 线段树
摘要:"题面" 题解 我们发现经过若干次操作后这些数的相对大小都不会变 排序之后, 就只有一段前缀改为 L , 或一段后缀改为 R 了 考虑这样一个函数 $$ \displaystyle\\f(a_1, a_2, a_3) = a_1 c_i + a_2 a_i + a_3 $$ 其中 $c_i$ 代表
阅读全文
摘要:"题面" 题解 题面很清楚 问题是要怎么做 其实就是查询一个动态集合的第 $k$ 大 每次合并就把两个集合黏在一起就行了 我们可以想到用 splay 来写, 启发式合并一下就行 还有一种思路是权值线段树合并 每一次连边就相当于是一次合并 好像确实没有什么很难想的地方, 思路很顺啊 就是线段树合并的复
阅读全文
摘要:"题面" 题解 upd : $cnt_i$ 代表值为 $i$ 的个数 我们可以暴力枚举众数 $k$ 把等于 $k$ 的赋值成 1 , 不等于 $k$ 的赋值成 1 这样原序列就变成了一段折线 我们把他剖开一段一段来分析 这些蓝线的左右端点分别为, 一个值为众数的数的位置, 和它下一个值为众数的数的位
阅读全文