Subarrays OR Gym - 102152K(思维)
时间:2020-04-15
本文章向大家介绍Subarrays OR Gym - 102152K(思维),主要包括Subarrays OR Gym - 102152K(思维)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Output
For each test case, print a single line containing the number of unique subarrays OR values among the subarray OR values of all subarrays in the given array.
Example
Input
2 3 1 2 3 3 2 4 8
Output
3 6
Note
题意:对任意一个L,R操作一共有多少个不同的异或值。
思路:假设现在想要求解区间[1,i][1,i]内的答案,那么需要先处理出[1,i−1],[2,i−1],[3,i−1]......[i−1,i−1]。然后将这些答案暴力与ai取|。
代码:
#include <iostream> #include <algorithm> #include <string.h> #include <cstdio> #include <string> #include <cmath> #include <vector> #include <stack> #include <queue> #include <stack> #include <list> #include <map> #include <set> //#include <unordered_map> #define Fbo friend bool operator < (node a, node b) #define mem(a, b) memset(a, b, sizeof(a)) #define FOR(a, b, c) for (int a = b; a <= c; a++) #define RFOR(a, b, c) for (int a = b; a >= c; a--) #define off ios::sync_with_stdio(0) #define sc(a) scanf("%d",&a) #define pr(a) printf("%d\n",a); #define SC(n,m) scanf("%d%d",&n,&m) bool check1(int a) { return (a & (a - 1)) == 0 ? true : false; } using namespace std; typedef pair<int, int> pii; typedef long long ll; const int INF = 0x3f3f3f3f;//1e10 const int mod = 1e9 + 7; const int Maxn = 1e5 + 5; const int M = Maxn * 20; const double pi = acos(-1.0); const double eps = 1e-8; int a[Maxn]; int main() { int t; sc(t); while (t--) { int n; sc(n); FOR (i, 1, n) sc(a[i]); set<int>s, st, ans; FOR(i, 1, n) { s.clear(); s.insert(a[i]); for (auto x : st) { s.insert(a[i]|x); //printf("%d | %d = %d\n", a[i], x, a[i] | x); } st = s; for (auto x : st) { //cout << "答案" << x << endl; ans.insert(x); } } cout << ans.size() << endl; } }
原文地址:https://www.cnblogs.com/AlexLINS/p/12707148.html
- sysbench压测MyCAT的shell脚本
- qemu-kvm中vcpu虚拟化到底是咋整的?
- 【给 iOS 开发者】人工智能在 iOS 开发上的应用和机会
- 【Python】Selenium辅助海量基金数据获取
- Django ORM的简单总结
- GO语言标准库概览
- 关于自动化平台的动态菜单设计
- go语言网络编程之tcp
- 实现简单的http并发请求,支持:GET、POST、HEAD、PUT
- 【go语言】Goroutines 并发模式(一)
- 【go语言】Goroutines 并发模式(二)
- 从零开始搭建Nginx和Tomcat的web集群环境
- 【翻译】为什么 goroutine 的栈内存无穷大?
- 从PowerVM,KVM到Docker:存储池的配置与调优---第一篇终结(第3子篇)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 基于Docker+Jenkins+Git的集成开发环境搭建
- python 函数的本质理解
- centOS(离线) off-line install docker-ce
- Java 工厂 Simple Factory&Factory&Abstract Factory
- python 性能的优化
- python中列表的常见操作
- Aop 源码解读
- python字典的合并排序添加查询
- python numpy pandas
- 让终端支持播放mp3,移植mp3解码库libmad和madplay到嵌入式linux
- Spring Bean的解析和加载详细解释
- ucgui在嵌入式linux下的移植
- java 类的加载
- 分组查询时,select的字段是否一定要都在group by中?
- java 多线程线程安全