使用C++查询给定数组在索引范围内的按位或操作

2023年 9月 22日 65.7k 0

使用C++查询给定数组在索引范围内的按位或操作

在本文中,我们给出了一个整数数组。我们的任务是找到给定范围内所有数字的按位或,例如,

Input: arr[] = {1, 3, 1, 2, 3, 4}, q[] = {{0, 1}, {3, 5}}
Output:
3
7
1 OR 3 = 3
2 OR 3 OR 4 = 7
Input: arr[] = {1, 2, 3, 4, 5}, q[] = {{0, 4}, {1, 3}}
Output:
7
7

登录后复制

在给定的问题中,我们将使用强力方法来解决它,然后检查它是否可以适用于更高的约束。如果没有,那么我们将优化我们的方法以适应更高的约束。

暴力方法

在这种方法中,我们只需遍历每个范围并计算按位或该范围内的所有数字并打印我们的答案。

示例

#include
using namespace std;
int main() {
int arr[] = { 7, 5, 3, 5, 2, 3 };
int n = sizeof(arr) / sizeof(int); // size of our array
int queries[][2] = { { 1, 3 }, { 4, 5 } }; // given queries
int q = sizeof(queries) / sizeof(queries[0]); // number of queries
for(int i = 0; i < q; i++) { // traversing through all the queries
long ans = 0;
for(int j = queries[i][0]; j j) & 1);
for (int i = 1; i < n; i++) {
prefixbits[j][i] = arr[i] & (1LL

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论