正题


题目大意

序列aaa
求有多少个数(x,y)(x,y)(x,y)对满足:
x&lt;yx&lt;yx<y和axorax+1orax+2...oray&lt;ma_x\ or\ a_{x+1}\ or\ a_{x+2}...or\ a_y&lt;max​ or ax+1​ or ax+2​...or ay​<m


解题思路

首先对于每个y,x满足单调性。
如果(x,y)(x,y)(x,y)可以那么(x+1,y)(x+1,y)(x+1,y)也可以,所以我们可以枚举yyy,然后维护xxx指针,如果不满足条件就将xxx移动到满足条件为止。
时间复杂度O(nlog2m)O(n\ \ log^2\ m)O(n  log2 m)


codecodecode

#include<cstdio>
#define N 100010
#define W 32
#define ll long long
using namespace std;
ll n,m,a[N],v[W],last,ans;
int main()
{freopen("evolve.in","r",stdin);freopen("evolve.out","w",stdout);scanf("%lld%lld",&n,&m);for(ll i=1;i<=n;i++)scanf("%lld",&a[i]);last=1;for(ll i=1;i<=n;i++){ll z=0;for(ll j=0;j<=30;j++)//加入新的v[j]+=(a[i]>>j)&1,z+=(v[j]!=0)<<j;while(z>=m&&last<i)//移动x{z=0;for(ll j=0;j<=30;j++)//去掉 v[j]-=(a[last]>>j)&1,z+=(v[j]!=0)<<j;last++;}ans+=i-last;//if(i!=last)//printf("%lld-%lld\n",last,i);}printf("%lld",ans);
}

jzoj3518-进化序列(evolve)【位运算】相关推荐

  1. JZOJ 3518. 【NOIP2013模拟11.6A组】进化序列(evolve)

    3518. [NOIP2013模拟11.6A组]进化序列(evolve) (File IO): input:evolve.in output:evolve.out Time Limits: 1000 ...

  2. 3518. 进化序列(evolve)

    玄学之门 题目: 分析: 代码: 题目: 传送门 分析: 把所有数按位去做,通过位运算得出每位上 1 1 1的个数 然后再疯狂暴力判断是否符合条件,是就累加答案 代码: #include<ios ...

  3. 【贪心 位运算】JZOJ_3518 进化序列(evolve)

    题意 给一个数列 A A A,其中 A x A_x Ax​可以进化到 A y A_y Ay​的条件: 1 ) x < y 1)x<y 1)x<y 2 ) A x ∣ A x + 1 ...

  4. jzoj. 3518. 【NOIP2013模拟11.6A组】进化序列(evolve)

    Description Abathur采集了一系列Primal Zerg 的基因样本,这些基因构成了一个完整的进化链.为了方便,我们用A0,A1-An-1 这n 个正整数描述它们. 一个基因Ax 可以 ...

  5. [jzoj 3518] 【NOIP2013模拟11.6A组】进化序列(evolve){二进制}

    题目 Description Abathur采集了一系列Primal Zerg 的基因样本,这些基因构成了一个完整的进化链.为了方便,我们用A0,A1-An-1 这n 个正整数描述它们. 一个基因Ax ...

  6. Jzoj3518 进化序列

    Abathur采集了一系列Primal Zerg 的基因样本,这些基因构成了一个完整的进化链.为了方便,我们用A0,A1...An-1 这n 个正整数描述它们. 一个基因Ax 可以进化为序列中在它之后 ...

  7. 牛客 - 小V的序列(思维+位运算)

    题目链接:点击查看 题目大意:给出一个均匀分布,长度为 n 的数列,再给出 m 次询问,每次询问给出一个 y ,询问数列中是否存在 x 与 y 相似,相似的定义如下: x,y相似当且仅当x xor y ...

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

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

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

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

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

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

最新文章

  1. 在C++中对字符串std::string使用switch/case语句
  2. 初级PHP开发作品容易出现的几个不足
  3. BugKuCTF WEB 成绩单
  4. 在Linux系统安装Nodejs
  5. 由浅到浅入门批量渲染(一)
  6. 如何在html 中引入其它html文件
  7. 本机获取Intel AMT IP地址的例子
  8. Laravel核心解读 -- 外观模式
  9. Java 8 函数接口详细教程
  10. 三菱plc 毕设_PLC漏型和源型输入有何不同?
  11. websockert后台定时向前端发送状态_(文末送书)手把手教你打造属于自己团队的前端小报系统...
  12. Karoly Nyisztor
  13. Logisim元件用法详解二:Gates 门
  14. FDDB和LFW到底是个啥?
  15. USB SERVER网络远程管理U盾
  16. python存钱挑战_【Python 22】52周存钱挑战2.0(列表list和math函数)
  17. linux文件夹英文全称,Linux--Ubuntu中文文件夹转英文
  18. 无线网络与移动网络详解
  19. 继续安利两个漫画App
  20. 三层架构与四大天王之——改

热门文章

  1. 凝思系统改时间_国产操作系统往事:四十年激变,终再起风云
  2. python中定制类_python定制类__str__(实例详解)
  3. northstar机器人编程_《机器人构建实战》——导读
  4. 后端学习 - JVM(上)内存与垃圾回收
  5. 7-1 多数组排序 (12 分)三种做法(冒泡排序 ; 重写sort方法 ;利用sort和栈)
  6. [Redis6]常用数据结构_Hash哈希
  7. [C++STL]list容器用法介绍
  8. [蓝桥杯][基础练习VIP]完美的代价-贪心
  9. android 语音助手官网,breeno语音助手最新版
  10. maximum mean discrepancy