题目

传送门:QWQ

传送到洛谷QWQ

分析

把求区间第k大的改一改就ok了。

代码

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 const int N=500010;
 4 int root[N*40], ls[N*40], rs[N*40], sum[N*40];
 5 int n, m, newp;
 6
 7 void add(int l,int r,int x,int& cur,int cur1)
 8 {
 9     cur=++newp;
10     ls[cur]=ls[cur1]; rs[cur]=rs[cur1];  sum[cur]=sum[cur1]+1;
11     if(l==r) return; int mid=l+r>>1;
12     if(x<=mid) add(l,mid,x,ls[cur],ls[cur1]);
13     else add(mid+1,r,x,rs[cur],rs[cur1]);
14 }
15
16 int query(int l,int r,int k,int cur,int cur1)
17 {
18     if(l==r) return l;
19     int mid=l+r>>1, cmp1=sum[ls[cur1]]-sum[ls[cur]], cmp2=sum[rs[cur1]]-sum[rs[cur]];
20     if(cmp1>k)  return query(l,mid,k,ls[cur],ls[cur1]);
21     else if(cmp2>k) return query(mid+1,r,k,rs[cur],rs[cur1]);
22     return 0;
23 }
24
25 int main()
26 {
27     scanf("%d%d",&n,&m);
28     for(int i=1;i<=n;i++)
29     {
30         int x; scanf("%d",&x);
31         add(1,n,x,root[i],root[i-1]);
32     }
33
34     for(int i=1;i<=m;i++)
35     {
36         int l,r; scanf("%d%d",&l,&r);
37         printf("%d\n",query(1,n,r-l+1>>1,root[l-1],root[r]));
38     }
39     return 0;
40 }


转载于:https://www.cnblogs.com/noblex/p/8427502.html

【BZOJ】3524 [POI2014] Couriers(主席树)相关推荐

  1. BZOJ.3524.[POI2014]Couriers(主席树)

    题目链接 //119964kb 5780ms //主席树裸题啊.. #include <cstdio> #include <cctype> #define gc() getch ...

  2. BZOJ 3524: [Poi2014]Couriers【主席树】

    3524: [Poi2014]Couriers [题目描述] 传送门 [题解] 主席树的裸题,要找出现次数大于一半的,那么他肯定出现在当前的左子树或右子树中,就这样查找就可以了. 代码如下 #incl ...

  3. 【bzoj3524】Couriers——主席树

    Description 给一个长度为n的序列a.1≤a[i]≤n(n,m<=500000). m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2. ...

  4. bzoj 4012: [HNOI2015]开店 主席树

    Description 风见幽香有一个好朋友叫八云紫,她们经常一起看星星看月亮从诗词歌赋谈到 人生哲学.最近她们灵机一动,打算在幻想乡开一家小店来做生意赚点钱.这样的 想法当然非常好啦,但是她们也发现 ...

  5. 【BZOJ3524】Couriers,第一次的主席树

    传送门(权限) 题面 3524: [Poi2014]Couriers Time Limit: 20 Sec Memory Limit: 128 MB Submit: 1449 Solved: 508 ...

  6. 【以前的空间】主席树

    主席树 周五晚蔡大神讲了下,觉得不是很难的东西,然后就可是敲,发现好像就是个持久化线段树(?!) 当晚笔记: 主席树,其实就是多棵可持久化权值线段树 那什么是可持久化线段树呢? 如树1中就在子树i,树 ...

  7. 【bzoj3524】【Poi2014】【Couriers】可持久化线段树(主席树)水题

    [pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=62485671 向大(hei)佬(e)势力学(di ...

  8. BZOJ 3524主席树裸题 (雾)

    思路: 按权值建一棵主席树 (但是这好像不是正解 空间复杂度是不对的--.) //By SiriusRen #include <cstdio> #include <cstring&g ...

  9. 主席树【bzoj3524(p3567)】[POI2014]Couriers

    Description 给一个长度为n的序列a.1≤a[i]≤n. m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2.如果存在,输出这个数,否则输出0 ...

最新文章

  1. 层次建模---建模软件包
  2. 还在用Synchronized?Atomic你了解不?
  3. OpenCV创建3D直方图
  4. 前端学习(2095):数组里面得方法哪些
  5. 关于遍历linux的文件目录的坑- readdir
  6. typecho一个简洁轻量适合写作,技术类的主题-AirCloud
  7. 【转载】深入分析 ThreadLocal 内存泄漏问题
  8. c语言不定长参数函数,DEFUN 如何定义支持不定长参数的函数
  9. cross-env跨平台设置环境变量
  10. 转换字符串的字符成单个字符并用逗号分隔
  11. 读 《.Net 之美》解析.Net Remoting (应用程序域)-- Part.1
  12. mysql时间排序获取最新_mysql获取按日期排序获取时间最近的记录
  13. IT大学生成长周报 | 第 2 期
  14. 在线作图|2分钟绘制一张精美的火山图(Volcano Plot)
  15. android wifi认证,android 怎么检测连接的wlan wifi需要portal认证
  16. 安全合规/等级保护--10--等级保护介绍及流程
  17. 大二期末作业(KTV点歌程序-纯java)
  18. 水泥行业工业互联网平台(CCPS)解决方案
  19. 工作站 显卡 测试软件,绝对专业!14块工作站显卡测试(图)
  20. 学计算机电脑显存多少为好,【深度分析】如何配置深度学习用的电脑(显卡和内存的选择标准)...

热门文章

  1. 2022-2028年中国TCO导电玻璃行业市场研究分析及前瞻规划报告
  2. mysql mgr应用场景_悄悄告诉你 MySQL MGR 牛在哪?
  3. Go 知识点(13) — 如何判断变量类型
  4. Go 学习笔记(67)— Go 并发安全字典 sync.Map
  5. vue实现文件上传功能
  6. 【Angular4】英雄指南demo
  7. tf.variance_scaling_initializer() tensorflow学习:参数初始化
  8. 2020了,还要学JSP嘛?入个门呗!毕竟Servlet亲兄弟~
  9. Typora+PicGo图床配置(本地图片-->网络url~博客必备)
  10. AI框架精要:设计思想