杂题 day3
主题:整体二分,哈希,反悔贪心。
A
直接用线段树维护整体二分可以做到 \(O(n\log^2n)\)。
然而区间加可以先差分再前缀和回去,是 \(O(\)值域\()\) 的。
因此有一个奇妙做法就是边整体二分边离散化,可以做到 \(O(n\log n)\)
B
直接整体二分,把所有美味度大于 \(mid\) 的插入,先递归左边,然后删除右半段再递归右边。
实现可以先把所有美味度离散化,然后直接上树状数组即可。
C
可以整体二分,把操作和询问一起递归,\(O(n\log^2n)\)。
还可以树套树,\(O(n\log^2n)\)。
还可以分块,在值域上维护下标上块的出现次数的前缀和,和值域上块的下标上的块的出现次数的前缀和,即可支持快速查询,\(O(n\sqrt{n})\)。
D
整体二分板题。
E
将题意转化为每块木板被第几个子弹击碎,然后又变成了版题、
F
整体二分,同样把询问和修改一起递归。
每次将 \(\ge mid\) 的修改 apply,然后按这个修改的值域决定往那边放。
修改的时候有一个 trick,不用写树剖,可以直接按欧拉序单点加查询子树和。
G
不知道,直接考了
H
枚举走到哪,然后贪心选尽可能多个,上数据结构维护即可。
I
反贪班子、
J
先按 \(b\) 从小到大排序,我们发现,假如一个 2关的关卡前面有没选的,那肯定不优,因此枚举 \(i\),i之前的都至少选一个,i之后的最多选一个,再上数据结构维护即可。
K
直接哈希。
L
每个数给一个随机权值,直接异或哈希。
M
和 L 一样,只不过多一个维护那些东西是需要更新的,君谈一下就好了
N
烂了。
本文来自博客园,作者:CuteNess,转载请注明原文链接:https://www.cnblogs.com/CuteNess/p/18788401

浙公网安备 33010602011771号