题目链接

//119964kb  5780ms
//主席树裸题啊。。
#include <cstdio>
#include <cctype>
#define gc() getchar()
const int N=5e5+5,S=N*20;int n,m,root[N];
namespace T
{#define lson son[rt][0]#define rson son[rt][1]int tot,sz[S],son[S][2];void Insert(int rt,int &y,int l,int r,int p){sz[y=++tot]=sz[rt]+1;if(l<r){int m=l+r>>1;if(p<=m) son[y][1]=rson, Insert(lson,son[y][0],l,m,p);else son[y][0]=lson, Insert(rson,son[y][1],m+1,r,p);}}int Query(int x,int y,int l,int r,int k){
//      if(sz[y]-sz[x]<=k) return 0;if(l==r) return l;//直接只在>时递归,不用判那么多。if(sz[son[y][0]]-sz[son[x][0]]>k) return Query(son[x][0],son[y][0],l,l+r>>1,k);else if(sz[son[y][1]]-sz[son[x][1]]>k) return Query(son[x][1],son[y][1],(l+r>>1)+1,r,k);return 0;}}
inline int read()
{int now=0;register char c=gc();for(;!isdigit(c);c=gc());for(;isdigit(c);now=now*10+c-'0',c=gc());return now;
}int main()
{n=read(),m=read();for(int a,i=1; i<=n; ++i) a=read(),T::Insert(root[i-1],root[i],1,n,a);int l,r;while(m--)l=read(),r=read(),printf("%d\n",T::Query(root[l-1],root[r],1,n,(r-l+1)>>1));return 0;
}

转载于:https://www.cnblogs.com/SovietPower/p/8649203.html

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

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

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

  2. 【bzoj3524】Couriers——主席树

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

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

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

  4. 【BZOJ】3524 [POI2014] Couriers(主席树)

    题目 传送门:QWQ 传送到洛谷QWQ 分析 把求区间第k大的改一改就ok了. 代码 1 #include <bits/stdc++.h> 2 using namespace std; 3 ...

  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. 解决虚拟机vmware安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题...
  3. css 倒三角_【译】改善 CSS 的 10 个最佳实践
  4. 分享我做的博客园Skin(目前12个,最后更新时间2006-5-10 PM)
  5. 三层交换机工作原理介绍
  6. 代码审计之SQL注入:BlueCMSv1.6 sp1
  7. 鸿蒙轻内核虚拟内存基础知识:虚拟内存进程空间编号
  8. 第一:Python+Allure运行报错AttributeError: module ‘allure‘ has no attribute ‘severity_level‘
  9. 回购价低于股价怎么办?
  10. mysql的utf-8怎么用_记住:永远不要在MySQL中使用UTF-8
  11. Matlab画图常用命令
  12. 最小二乘支持向量机分类器(LSSVM)及Python实现
  13. 阻抗测试仪软件,特性阻抗测试仪 阻抗测试仪 Tektronix 泰克 TDR DSA8300
  14. WPS文字设置奇偶页眉、下划线的方法步骤
  15. 小程序后端云开发(一)
  16. Ubuntu14.04上安装calamari
  17. layui修改表格行高
  18. 北理工嵩天Python学习笔记
  19. 深入分析零拷贝的原理,彻底掌握Netty、Kafka、RocketMQ高效率读写的秘诀
  20. android自定义抽奖,Android简单实现圆盘抽奖界面

热门文章

  1. IPsec ***路由配置
  2. Spring Board View
  3. 融合存储超越统一存储
  4. Web后端学习笔记 Flask(7)数据库
  5. 使用OpenCV-python识别图片视频中的人脸和眼睛
  6. Python中的各种if语句(if条件判断、if...else、if...elif...else、if...else嵌套)
  7. css编写加载页面动画效果
  8. 表格中序号怎计算机课程视频,【答疑】在Excel表格里输入了文字后怎么下拉顺序号啊?如何在表格里添加序号? - 视频教程线上学...
  9. 无法拒绝APP测试的理由,如果你还不知道,是我的错!
  10. 安装vue-cli脚手架