Interesting Array

Posted heqingyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Interesting Array相关的知识,希望对你有一定的参考价值。

技术分享图片

解法一:

 首先想到通过位运算的性质来做这道题,将q[i]转为二进制来做。

 可以分类讨论:

 1.当q[i]的第j位为1时,就说明a[l[i]]~a[r[i]]的第j位上都是1

 2.反过来,当q[i]的第j位上为0时,a[l[i]]~a[r[i]]的第j位上至少有一个0

 所以,先将每一个1的条件满足,然后贪心填0,最后check一遍就可以了

解法二:

  用线段树来实现,考虑&和|的特殊性质(q[i]|a[r[i]])

  将问题转化为区间|上一个数,查询&的问题

以上是关于Interesting Array的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces 706B Interesting drink

J - Scarily interesting! URAL - 2021

Interesting Function

Interesting丨当我们用蚂蚁的视角看待世界

B. Interesting Array(线段树)

CodeForces - 706B Interesting drink(二分查找)