주석 트 리 초보
생각 에 대해 서 는 그림 으로 보 여 주세요.
poj 2104 코드 첨부:
#include
#include
#include
#include
#include
#include
#include
#define M 100000+5
using namespace std;
/*
poj2104 [l,r] k
*/
struct node
{
int l,r,size;
node(){l=r=size=0;
}
}T[20*M];
int root[M];// i
int tot;//
int m;
int a[M];//
int t[M];// 1,5,7,9 t[1]=1 t[2]=5 t[3]=7
int pos(int x)
{
return lower_bound(t+1,t+m+1,x)-t;//
/*int l=1,r=m;
while(l=k)return query(T[i].l,T[j].l,l,mid,k);
else return query(T[i].r,T[j].r,mid+1,r,k-cha);
}
int main()
{
while(scanf("%d%d",&n,&q)!=EOF)
{
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
t[i]=a[i];
}
sort(t+1,t+n+1,cmp);
m=unique(t+1,t+n+1)-t-1;
m++;t[m]=0x3f3f3f3f;
tot=0;
root[0]=build(1,m);//
for(int i=1;i<=n;i++)// Logn
{
int k=pos(a[i]);//k a[i]
root[i]=updata(root[i-1],1,m,k,1);// ,
}
//
for(int i=1;i<=q;i++)
{
int l,r,k;// [l,r] k
scanf("%d%d%d",&l,&r,&k);
printf("%d
",t[query(root[l-1],root[r],1,m,k)]);// [l,r] k
}
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.