HDU--5519 Sequence II (主席树)
题目链接 2016年长春ccpc I 题
题目大意 :
给你n(n≤2∗105n≤2∗105)个数,每个数的大小 0<Ai≤2∗10^5 0<Ai≤2∗10^5。
再给你m(m≤2∗105≤2∗105)个询问。对于每个询问输入l,r,表示Al...ArAl...Ar这个区间我们得到每个数第一次出现的位置下标的排列,
假设这个区间有k个不同的数,我们得到的排列是p1<p2<p3<...<pkp1<p2<p3<...<pk,叫你求第(k+1)/2这个数是所在的位置是哪个?
主席树正着插能得到每个区间不同数最后一次出现的位置,反着插的话可以得到每个不同数第一次出现的位置
然后就是查找区间k值
#include<bits/stdc++.h>
using namespace std;
#define maxn 200005
struct ac{
int va,l,r;
}tre[*maxn];
int a[maxn],root[maxn],tot,fa[maxn];
void init(){
memset(root,,sizeof(root));
memset(tre,,sizeof(tre));
memset(fa,,sizeof(fa));
tot=;
}
void updata(int l,int r,int &x,int y,int z,int va){
tre[++tot]=tre[y];
tre[tot].va+=va;
x=tot;
if(l==r) return ;
;
if(z<=mid) updata(l,mid,tre[x].l,tre[y].l,z,va);
,r,tre[x].r,tre[y].r,z,va);
}
int query(int l,int r,int x,int k){
if(l==r) return l;
int s=tre[tre[x].l].va;
;
if(k<=s){
return query(l,mid,tre[x].l,k);
}
,r,tre[x].r,k-s);
}
int getsum(int l,int r,int x,int y,int z){
if(l==x&&y==r) return tre[z].va;
;
if(y<=mid){
return getsum(l,mid,x,y,tre[z].l);
}else if(x>mid){
,r,x,y,tre[z].r);
}else{
,r,mid+,y,tre[z].r);
}
}
int main(){
;
cin>>t;
while(t--){
init();
int n,m;
cin>>n>>m;
;j<=n;j++){
scanf("%d",&a[j]);
}
;j--){
if(fa[a[j]]){
updata(,n,root[j],root[j+],fa[a[j]],-);
updata(,n,root[j],root[j],j,);
}else{
updata(,n,root[j],root[j+],j,);
}
fa[a[j]]=j;
}
;
printf("Case #%d:",cnt++);
;j<m;j++){
int x,y,l,r;
scanf("%d%d",&x,&y);
x=(x+ans)%n+;
y=(y+ans)%n+;
l=min(x,y);r=max(x,y);
,n,l,r,root[l]);
s=(s+)/;
ans=query(,n,root[l],s);
printf(" %d",ans);
}
printf("\n");
}
}
HDU--5519 Sequence II (主席树)的更多相关文章
- HDU 5919 Sequence II 主席树
Sequence II Problem Description Mr. Frog has an integer sequence of length n, which can be denoted ...
- HDU5919 Sequence II(主席树)
Mr. Frog has an integer sequence of length n, which can be denoted as a1,a2,⋯,ana1,a2,⋯,anThere are ...
- hdu 5147 Sequence II【树状数组/线段树】
Sequence IITime Limit: 5000/2500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem ...
- HDU 5919 Sequence II(主席树+逆序思想)
Sequence II Time Limit: 9000/4500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) To ...
- HDU 5919 -- Sequence II (主席树)
题意: 给一串数字,每个数字的位置是这个数第一次出现的位置. 每个询问对于序列的一个子区间,设一共有k个不同的数,求第ceil(k/2)个数的位置. 因为强制在线,所以离线乱搞pass掉. 主席树可解 ...
- HDU 5919 - Sequence II (2016CCPC长春) 主席树 (区间第K小+区间不同值个数)
HDU 5919 题意: 动态处理一个序列的区间问题,对于一个给定序列,每次输入区间的左端点和右端点,输出这个区间中:每个数字第一次出现的位子留下, 输出这些位子中最中间的那个,就是(len+1)/2 ...
- HDU 5919 Sequence II(主席树)题解
题意:有A1 ~ An组成的数组,给你l r,L = min((l + ans[i - 1]) % n + 1, (r + ans[i - 1]) % n + 1),R = max((l + ans[ ...
- hdu 5919 Sequence II (可持久化线段树)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5919 大致题意: 给你一个长度为n的序列,q个询问,每次询问是给你两个数x,y,经过与上一次的答案进行运算 ...
- hdu 5147 Sequence II 树状数组
Sequence II Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Prob ...
- hdu 5147 Sequence II (树状数组 求逆序数)
题目链接 Sequence II Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
随机推荐
- jquery on绑定事件
描述:给一个或多个元素(当前的或未来的)的一个或多个事件绑定一个事件处理函数.(1.7版本开始支持,是 bind().live() 和 delegate() 方法的新的替代品) 语法:.on( eve ...
- [转帖]Docker的数据管理(volume/bind mount/tmpfs)
Docker(十五)-Docker的数据管理(volume/bind mount/tmpfs) https://www.cnblogs.com/zhuochong/p/10069719.html do ...
- oss上传和下载的笔记
<<<<<<<<<对oss操作,上传文件>>>>>>>>>>>>>& ...
- maven中jar下载失败
关键词:maven jar 错误描述:反编译时遇到 invalid LOC header (bad signature)的问题 aether-89969cb8-5741-44e3-be2c-74f90 ...
- Linux基础学习笔记5-软件管理
包管理器 二进制应用程序的组成部分: 二进制文件.库文件.配置文件.帮助文件 程序包管理器: debian:deb文件.dpkg包管理器 redhat:rpm文件.rpm包管理器 rpm:Redhat ...
- 老男孩python学习自修第十二天【常用模块之生成随机数】
常用函数 import random random.random() 生成0到1之间的小数 random.randint(begin, end) 生成[begin, end]之间的整数 random. ...
- timestamp 与 nonce 防止重放攻击
重放攻击是计算机世界黑客常用的攻击方式之一,所谓重放攻击就是攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程. 首先要明确一个事情,重放攻击是二次请求,黑客通过抓包获取到 ...
- 三、ASP.NET Core 部署Linux
预备工作 1.删除dotnet core sdk sudo yum erase libunwind libicu 2.删除链接 sudo rm -rf /usr/local/bin 3.sudo yu ...
- mvc学习过程碰到问题
Fluent API配置 单例模式+Autofac 批量注入
- java数据库导入excel数据
导入数据会将表格分为xls和xlsx两种格式,网上有很多案例 1.excel数据表中的数据不全,数据库中又是必填选项:---从sql语句入手:判断有无 来改变语句 //设置可有可无 字段 加一个必有字 ...