lxl丧心病狂……

首先允许离线的区间询问一看就是莫队。那么我们看下怎么莫队?

不会。

“由乃题多半是不可做的。”于是我看了下题解……好吧果然是bitset

用bitset维护当前出现了哪些数。对于差为x,可以将其左移然后和本身取并集,和为x,我们可以翻转这个bitset,然后左移取并集就好了。对于乘积为x,我们可以暴力,枚举因数判断一下就好了。

还好这个时候的lxl还没有热衷卡常……

  1. #include<bits/stdc++.h>
  2. #define N 100000
  3. #define M 20000005
  4. using namespace std;
  5. struct Query{int k,l,r,x,id;}q[N+5];
  6. int m,n,l,r,s;
  7. int a[N+5],c[N+5],ans[N+5],rt[N+5];
  8. bitset<N+5> now1,now2;
  9. char DR[M+10],*P=DR;
  10. inline bool operator<(Query x,Query y){
  11. return rt[x.l]==rt[y.l]?rt[x.l]&1?x.r<y.r:x.r>y.r:rt[x.l]<rt[y.l];
  12. }
  13. int read(){
  14. int f=1,x=0;char ch;
  15. do{ch=getchar();if(ch=='-')f=-1;}while(ch<'0'||ch>'9');
  16. do{x=x*10+ch-'0';ch=getchar();}while(ch>='0'&&ch<='9');
  17. return f*x;
  18. }
  19. inline void init(){
  20. n=read();m=read();s=(int)sqrt(n);
  21. for(register int i=1;i<=n;++i)a[i]=read();
  22. for(register int i=1;i<=n;++i)rt[i]=(i-1)/s+1;
  23. for(register int i=1;i<=m;++i){
  24. q[i].k=read();q[i].l=read();q[i].r=read();
  25. q[i].x=read();q[i].id=i;
  26. }
  27. sort(q+1,q+m+1);l=1;r=0;
  28. }
  29. inline void add(int x){if(c[x]++==0)now1[x]=1,now2[N-x]=1;}
  30. inline void del(int x){if(--c[x]==0)now1[x]=0,now2[N-x]=0;}
  31. int main(){
  32. init();
  33. for(int i=1;i<=m;i++){
  34. for(;q[i].l<l;)add(a[--l]);
  35. for(;q[i].l>l;)del(a[l++]);
  36. for(;q[i].r<r;)del(a[r--]);
  37. for(;q[i].r>r;)add(a[++r]);int k=q[i].k,x=q[i].x;
  38. if(k==1){if((now1&(now1<<x)).any())ans[q[i].id]=1;}
  39. else if(k==2){if((now1&(now2>>(N-x))).any())ans[q[i].id]=1;}
  40. else{
  41. for(int j=1;j*j<=x;j++)
  42. if(!(x%j))if(now1[j]&&now1[x/j]){ans[q[i].id]=1;break;}
  43. }
  44. }
  45. for (int i=1;i<=m;i++)if(ans[i])puts("yuno");else puts("yumi");
  46. return 0;
  47. }

【bzoj4810】由乃的玉米田的更多相关文章

  1. 【BZOJ4810】[Ynoi2017]由乃的玉米田 bitset+莫队

    [BZOJ4810][Ynoi2017]由乃的玉米田 Description 由乃在自己的农田边散步,她突然发现田里的一排玉米非常的不美.这排玉米一共有N株,它们的高度参差不齐.由乃认为玉米田不美,所 ...

  2. bzoj4810 [Ynoi2017]由乃的玉米田

    Description 由乃在自己的农田边散步,她突然发现田里的一排玉米非常的不美.这排玉米一共有N株,它们的高度参差不齐. 由乃认为玉米田不美,所以她决定出个数据结构题   这个题是这样的: 给你一 ...

  3. LuoguP3674 小清新人渣的本愿 && BZOJ4810: [Ynoi2017]由乃的玉米田

    题目地址 小清新人渣的本愿 [Ynoi2017]由乃的玉米田 所以这两题也就输出不一样而已 题解 这种lxl的题还是没修改操作的题基本就是莫队 分开考虑每个询问 1.减法 \(a-b=x⇒a=b+x\ ...

  4. BZOJ4810:[YNOI2017]由乃的玉米田(莫队,bitset)

    Description 由乃在自己的农田边散步,她突然发现田里的一排玉米非常的不美.这排玉米一共有N株,它们的高度参差不齐. 由乃认为玉米田不美,所以她决定出个数据结构题   这个题是这样的: 给你一 ...

  5. 【bzoj4810】【ynoi2018】由乃的玉米田

    4810: [Ynoi2017]由乃的玉米田 Time Limit: 30 Sec  Memory Limit: 256 MBSubmit: 1090  Solved: 524[Submit][Sta ...

  6. bzoj4810 [Ynoi2017]由乃的玉米田 bitset优化+暴力+莫队

    [Ynoi2017]由乃的玉米田 Time Limit: 30 Sec  Memory Limit: 256 MBSubmit: 917  Solved: 447[Submit][Status][Di ...

  7. 【bzoj4810】[Ynoi2017]由乃的玉米田 莫队算法+STL-bitset

    题目描述 由乃在自己的农田边散步,她突然发现田里的一排玉米非常的不美.这排玉米一共有N株,它们的高度参差不齐. 由乃认为玉米田不美,所以她决定出个数据结构题 这个题是这样的: 给你一个序列a,长度为n ...

  8. bzoj 3594: [Scoi2014]方伯伯的玉米田 dp树状数组优化

    3594: [Scoi2014]方伯伯的玉米田 Time Limit: 60 Sec  Memory Limit: 128 MBSubmit: 314  Solved: 132[Submit][Sta ...

  9. bzoj 3594: [Scoi2014]方伯伯的玉米田

    3594: [Scoi2014]方伯伯的玉米田 Time Limit: 60 Sec  Memory Limit: 128 MB Submit: 1399  Solved: 627 [Submit][ ...

  10. [BZOJ]4810: [Ynoi2017]由乃的玉米田

    Time Limit: 30 Sec  Memory Limit: 256 MB Description 由乃在自己的农田边散步,她突然发现田里的一排玉米非常的不美.这排玉米一共有N株,它们的高度参差 ...

随机推荐

  1. EM算法浅析(二)-算法初探

    EM算法浅析,我准备写一个系列的文章: EM算法浅析(一)-问题引出 EM算法浅析(二)-算法初探 一.EM算法简介 在EM算法之一--问题引出中我们介绍了硬币的问题,给出了模型的目标函数,提到了这种 ...

  2. Regularization method for machine learning

    Regularization method(正则化方法) Outline Overview of Regularization L0 regularization L1 regularization ...

  3. 一个简单的ipfs音乐播放器的实现

    IPFS音乐播放器 IPFS相关 IPFS第一次亲密接触 什么是IPFS IPFS对比HTTP/FTP等协议的优势 IPFS应用场景 -移动数据 交易 路由 网络 定义数据 命名 使用数据 具体场景; ...

  4. POJ 2761 Feed the dogs(平衡树or划分树or主席树)

    Description Wind loves pretty dogs very much, and she has n pet dogs. So Jiajia has to feed the dogs ...

  5. winform timer时间间隔小于执行时间

    如果SetTimer的时间间隔为t,其响应事件OnTimer代码执行一遍的时间为T,且T>t.这样,一次未执行完毕,下一次定时到,这时候程序会如何执行? 可能的情况:1.丢弃还未执行的代码,开始 ...

  6. 修改freemarker的ftl时,不重启tomcat的办法(使用了springMVC)

    一.在使用Freemarker 时,需要在spring-mvc.xml 配置文件中作如下配置: <!-- 配置freeMarker的模板路径 --> <bean id="f ...

  7. 软工实践 - 第二十四次作业 Beta 冲刺(2/7)

    队名:起床一起肝活队 组长博客:https://www.cnblogs.com/dawnduck/p/10105380.html 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过 ...

  8. chromium源码阅读--图片处理

    JavaScript 图像替换 JavaScript 图像替换技术检查设备能力,然后“做正确的事”. 您可以通过 window.devicePixelRatio 确定设备像素比,获取屏幕的宽度和高度, ...

  9. Android—基于OpenCV+Android实现人脸检测

    导读 OpenCV 是一个开源的跨平台计算机视觉库, 采C++语言编写,实现了图像处理和计算机视觉方面的很多通用算法,同时也提供对Python,Java,Android等的支持,这里利用Android ...

  10. 关于org.springframework.web.filter.CharacterEncodingFilter的学习

    介绍 org.springframework.web.filter.CharacterEncodingFilter 这是一个过滤器,是Spring在web请求中定义request和response的编 ...