题目链接:P7470 [NOI Online 2021 提高组] 岛屿探险
以前都没有真正把 c d q cdq cdq搞懂过,趁这次比赛花时间学了一下
S o l u t i o n Solution Solution
对于 m i n { d } ≤ m i n { b } min\{d\}\le min\{ b\} min{
d}≤min{
b},即 a ⊕ c ≤ d a\oplus c\le d a⊕c≤d
先把询问拆成 [ 1 , l − 1 ] [1,l-1] [1,l−1]和 [ 1 , r ] [1,r] [1,r],然后离线将询问排序,用一棵 01 t r i e 01trie 01trie树就能贪心的求出
对于 m i n { b } ≤ m i n { d } min\{b\}\le min\{ d\} min{
b}≤min{
d},即 a ⊕ c ≤ b a\oplus c\le b a⊕c≤b
限制中有 a , b a,b a,b,很难同时处理,但如果把 a , b a,b a,b看成询问,只有 c c c一个限制,就能套用 m i n { d } ≤ m i n { b } min\{d\}\le min\{ b\} min{
d}≤min{
b}的做法了,每次将 a , b a,b a,b插入 01 t r i e 01trie 01trie时,都将能够影响到的 c c c集合打上标记,查询 c c c时,查找根到该点的路径的标记和即可
由于我们既要满足 b , d b,d