11 2021 档案
摘要: 元素带类型与权值,每次修改权值或类型,求区间每种类型和的 次方和 强制在线 显然简单分块,根据询问需要发现要 维护任意两块之间的答案,每种类型的权值在块中的前缀和 询问就很简单,考虑枚举散块出现的类型先去除其在
阅读全文
摘要: 一看有区间赋值直接上 #include <cstdio> #include <iostream> #include <set> #define re register using namespace std; i
阅读全文
摘要: 一眼 为避免每次都数颜色数量,提前记录下来,每次修改更新下 #include <cstdio> #include <iostream> #include <set> #define re register usi
阅读全文
摘要: 当然是 暴力啦 煞费苦心加强了数据,于是就过不了了。。。 不过 上可以过 #include <cstdio> #include <iostream> #include <set> #def
阅读全文
摘要: 不考虑起点区间和终点区间的限制,求区间中位数 可以二分中位数,大于等于中位数的位置赋为 ,小于的位置赋 当区间和大于等于 时此数才可能为中位数 因为有多个询问,但中位数数值只可能有 个 所以预处理时枚举当前中位数
阅读全文
摘要:简要题解 这套题比较 建议题目背景美文共赏 显然一个 不能过的 然而过了?! 用心在该卡时间的地方卡一卡 #include <cstdio> #include <algorithm> #
阅读全文
摘要: 树上主席树板子 #include <cstdio> #include <algorithm> #define re register using namespace std; const int N = 1e5 + 5; int
阅读全文
摘要: 又忘了线段树分治!! 显然维护一个上凸包 发现加点和删点可以变成限制存在时间 然后把点放在线段树上,线段树下标表示时间 加点时先把点按横坐标排序,然后就可以单调队列维护每个线段树节点的上凸包 询问再按斜率排序,这样可以弹点而不需要二分了 \(O(n \log
阅读全文