正题


题目大意

长度为n的序列,求两个长度大于等于kkk的连续序列,一个位运算“和”后最大的答案,和“或”后最大的答案。


解题思路

首先ororor
b=aorxb=a\ or\ xb=a or x的话,b⩾ab\geqslant ab⩾a
所以答案就是所有的或起来

然后andandand
b=aandxb=a\ and\ xb=a and x的话,b⩽ab\leqslant ab⩽a
所以就找长度为k的就好了,维护一个滑动窗口。


code

#include<cstdio>
#include<algorithm>
#define N 1000010
#define W 32
using namespace std;
int n,k,a[N],v[W],max1,max2;
int main()
{scanf("%d%d",&n,&k);for(int i=1;i<=n;i++){scanf("%d",&a[i]);max1|=a[i];//或的答案for(int j=0;j<W;j++)v[j]+=(a[i]>>j)&1;//加上新的if(i>=k){for(int j=0;j<W;j++)v[j]-=(a[i-k]>>j)&1;//去掉头 int ands=0;for(int j=0;j<W;j++)ands+=(v[j]==k)*(1<<j);//计算答案max2=max(max2,ands);//取最大值}}printf("%d %d",max1,max2);
}

nssl1230-序列【位运算】相关推荐

  1. LeetCode 187. 重复的DNA序列(哈希/位运算)

    1. 题目 所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:"ACGAATTCCG". 在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助 ...

  2. 技术图文:位运算技术在求解算法题中的应用

    背景 前段时间,在知识星球立了一个Flag,这是总结Leetcode刷题的第一篇图文. 在总结这篇图文的时候,顺便把遇到的坑写了两篇辅助的图文,大家可以参考一下: 有符号整型的数据范围为什么负数比正数 ...

  3. 拦截导弹 (加了神奇的位运算)

    传送门 :洛谷 P1020 导弹拦截 思路 : 第一问为求一段序列 的最长不下降子序列的长度 第二问求得是 不下降子序列的个数 对于第一问,跑一边 最长不下降子序列即可 对于第二问, 依旧是跑一边第一 ...

  4. 快速排序算法_基于位运算的快速排序算法

    前言 如果你准备看这篇文章,我就当你是懂快速排序算法原理的. 下面是我在2018年10月3日想到的基于二进制位运算对正整数进行的一种快速排序算法,目前的代码只能对正整数进行有效的排序,当然,稍微修改一 ...

  5. 【NOIP模拟题】“与”(位运算)

    因为是与运算,所以我们可以贪心地每次找最高位的,将他们加入到新的序列中,然后每一次在这个新的序列继续找下一个位. 然后最后序列中任意两个的与运算的值都是一样的且是最大的. #include <c ...

  6. CodeForces - 1451E2 Bitwise Queries (Hard Version)(交互+构造+位运算)

    题目链接:点击查看 题目大意:给出一个长度为 n(n 保证了是 2 的幂次),每个数的范围在 [ 0 , n - 1 ] 的一个数组,现在要求通过有限次操作确定下来这个数组: 询问 a[ i ] xo ...

  7. 【Python位运算】——左移操作(<<)右移操作>>

    目录 左移操作 右移操作 其他博主的理解 应用--力扣题目78. 子集 解法 深度优先搜索 位运算 参考文献 左移操作 # 左移操作,左移一位相当于乘以b,a<<b,a' = a*(2^b ...

  8. USACO2.1【bfs,排序,贪心,dfs,位运算】

    前言 开始刷USACO的题了. 正题 刷前必备技能:OI常识,bfs,dfs,位运算,基础贪心,快速排序. T1:城堡 TheCastleThe CastleTheCastle 评测记录: https ...

  9. 算法之美 : 位运算

    上一小节我们用三道题了解一下面试过程中栈和队列的常见面试题.本小节笔者将通过几个 位运算 的题目来带大家熟悉下常用的位运算知识. 相比于栈和队列来讲,笔者自身认为位运算需要掌握的知识就要多一些,包括对 ...

  10. C#LeetCode刷题-位运算

    位运算篇 # 题名 刷题 通过率 难度 78 子集 67.2% 中等 136 只出现一次的数字 C#LeetCode刷题之#136-只出现一次的数字(Single Number) 53.5% 简单 1 ...

最新文章

  1. 存在于实数域的微观粒子5-可分类性
  2. uni-app实现传值路径乱码的问题
  3. linux进程---exec族函数(execl, execlp, execv, execvp, )解释和配合fork的使用
  4. 没有qpress_MySQL 大数据备份方案之Percona XtraBackup
  5. FPGA原语类型介绍
  6. 从编写到上线带你搞定springboot博客之编辑博客时新增标签02
  7. Spring MVC表单实例
  8. 应届毕业生如何打破面试焦虑
  9. 机器学习笔记----(1)什么是机器学习
  10. Java面试复习大纲2.0(持续更新)
  11. zipf定律与相似性度量
  12. Ros自定义消息及使用
  13. 如何把图片制作成GIF动图?GIF图是怎样合成的?
  14. 一个C语言编写的坦克大战游戏
  15. Java编程规范-文件组织与排版
  16. AS星尘(stardust)粒子系统 学习 3
  17. nsf5隐写算法 matlab,基于纹理复杂度的JPEG图像自适应隐写
  18. 目标跟踪:Deepsort--卡尔曼滤波、匈牙利匹配、马氏距离、欧氏距离、级联匹配、reid
  19. SDRAM学习(五)——串口传图
  20. 迷宫问题求解(1) 简单迷宫

热门文章

  1. 服务器运行慢都有哪些问题,服务器数据库的运行速度很慢问题
  2. 新增一个主键自增长_MyBatis 示例-主键回填
  3. druid字段级_Druid的数据结构
  4. python 服务端框架_GitHub - edisonlz/fastor: Python服务端开发框架-极易上手,超出你的想象!...
  5. apk源码查看工具_如何查看Linux命令工具的源码?
  6. vue 插入word模板 项目_10 分钟为你的 vue 项目编写代码文档
  7. c++ new一个结构体_C语言结构体,又一个纸老虎,纯干货讲解(附代码)
  8. [MyBatisPlus]通用枚举
  9. [mybatis]typeHandlers日期类型的处理
  10. Java面向对象编程(高级)