这个题目的思路比较清奇?
一直想着用 Trie 来做,然而……
首先按位贪心是显然的,如果没有 xi 的限制,可持久化 Trie 完事。
但是现在有了一个偏移量 xi,直接在 Trie 的结构上不太好做。
那么——我们可以用两只 log 来解决,一只用来按位贪心,一只用来检查是否合法。
后者使用主席树。
即,从高位到低位枚举,然后每次在主席树上检查 [li,ri] 区间内是否有如此的数(查询时减去 xi)。
代码:
1 |
|
这个题目的思路比较清奇?
一直想着用 Trie 来做,然而……
首先按位贪心是显然的,如果没有 xi 的限制,可持久化 Trie 完事。
但是现在有了一个偏移量 xi,直接在 Trie 的结构上不太好做。
那么——我们可以用两只 log 来解决,一只用来按位贪心,一只用来检查是否合法。
后者使用主席树。
即,从高位到低位枚举,然后每次在主席树上检查 [li,ri] 区间内是否有如此的数(查询时减去 xi)。
代码:
1 | #include <cstdio> |
Related Issues not found
Please contact @Alpha1022 to initialize the comment