摘要: 传送门 分析 通过小学数学我们可以知道对于k个数,我们取它们的中位数x时可以使答案最优。所以我们枚举每一个连续的长度为k的区间,用treap维护,求出所有数都变成x的花费。注意在这里treap还需要记录它的子树的值的和以便最后计算答案的时候使用。具体实现见代码。记得开long long。 代码 阅读全文
posted @ 2018-08-20 17:06 水题收割者 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 传送门 分析 我看到这个题的第一反应使用莫队水过去,于是我考虑建立一棵权值线段树,每一次从里面插入或删除一个数,然后查询,但是复杂度是O(n√nlogn),明显不行。由于这是在一个区间查询数量,所以可以考虑用主席树来维护。建树过程不必说了,查询过程我们是在查询是不是有一个点的值大于k,所以我们每一次 阅读全文
posted @ 2018-08-20 10:52 水题收割者 阅读(131) 评论(0) 推荐(0) 编辑