随笔分类 -  数据结构 -- 线段树

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