欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

THE函數(shù)式線段樹代碼怎么寫-創(chuàng)新互聯(lián)

這篇文章主要講解了“THE函數(shù)式線段樹代碼怎么寫”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“THE函數(shù)式線段樹代碼怎么寫”吧!

泊頭ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

THE函數(shù)式線段樹代碼:

#include <cstdio>
#include <cstring>
#include <algorithm>
#define lson st[num].ls
#define rson st[num].rs
using namespace std;
const int MAXN = 100100;

struct node
{
    int ls,rs,cnt;
};

struct fSTree
{
    node st[MAXN*20];
    int rt[MAXN],cur,rc;

    inline void _pushUp(int num)
    {
        st[num].cnt=st[lson].cnt+st[rson].cnt;
    }

    inline int _build(int l,int r)
    {
        int num=cur++;
        if(l==r)
        {
            st[num].cnt=0;
            return num;
        }
        int m=(l+r)>>1;

        st[num].ls=_build(l,m);
        st[num].rs=_build(m+1,r);
        _pushUp(num);
        return num;
    }

    inline int _insert(int pos,int l,int r,int last)
    {
        int num=cur++;
        st[num]=st[last];

        if(l==r)
        {
            st[num].cnt++;
            return num;
        }

        int m=(l+r)>>1;
        if(pos>m) st[num].rs=_insert(pos,m+1,r,st[num].rs);
        else st[num].ls=_insert(pos,l,m,st[num].ls);
        _pushUp(num);
        return num;
    }

    inline int _quire(int k,int v,int o,int l,int r)
    {
        if(l==r)
            return l;

        int res = st[st[o].ls].cnt - st[st[v].ls].cnt,m=(l+r)>>1;

        if(k<=res)
            return _quire(k,st[v].ls,st[o].ls,l,m);
        else
            return _quire(k-res,st[v].rs,st[o].rs,m+1,r);
    }

    inline void init(int n)
    {
        cur=rc=0;
        rt[rc++]=_build(1,n);
    }

    inline void insert(int n,int pos)
    {
        rt[rc]=_insert(pos,1,n,rt[rc-1]);
        rc++;
    }

    inline int quire(int n,int k,int l,int r)
    {
        return _quire(k,rt[l-1],rt[r],1,n);
    }
}fst;

int hl[MAXN],hs[MAXN];

int main()
{
    //freopen("hdu2665.in","r",stdin);
    int T;
    scanf("%d",&T);
    while(T--)
    {
        int n,m;
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&hs[i]);
            hl[i]=hs[i];
        }

        sort(hl+1,hl+n+1);
        int nn=unique(hl+1,hl+n+1)-hl-1;
        fst.init(nn);

        for(int i=1;i<=n;i++)
            fst.insert(nn,lower_bound(hl+1,hl+1+nn,hs[i])-hl);

        while(m--)
        {
            int s,t,k;
            scanf("%d%d%d",&s,&t,&k);
            int idx = fst.quire(nn,k,s,t);
            printf("%d\n",hl[idx]);
        }
    }
    return 0;
}

------------------------------------------------

poj 2761
一樣的題目啊..結(jié)果背板都被擊沉一發(fā) -  -

#include <cstdio>
#include <cstring>
#include <algorithm>
#define lson st[num].ls
#define rson st[num].rs
using namespace std;

const int MAXN = 100100;

struct node
{
    int ls,rs,cnt;
};

struct
{
    int rt[MAXN],cur,rc;
    node st[MAXN*20];

    inline void _pushUp(int num)
    {
        st[num].cnt=st[lson].cnt+st[rson].cnt;
    }

    inline int _build(int l,int r)
    {
        int num=cur++,m=(l+r)>>1;

        if(l==r)
        {
            st[num].cnt=0;
            return num;
        }

        st[num].ls=_build(l,m);
        st[num].rs=_build(m+1,r);
        _pushUp(num);
        return num;
    }

    inline int _insert(int pos,int l,int r,int last)
    {
        int num=cur++,m=(l+r)>>1;
        st[num]=st[last];

        if(l==r)
        {
            st[num].cnt++;
            return num;
        }

        if(pos>m)
            st[num].rs=_insert(pos,m+1,r,st[num].rs);
        else
            st[num].ls=_insert(pos,l,m,st[num].ls);
        _pushUp(num);
        return num;
    }

    inline int _quire(int k,int o,int v,int l,int r)
    {
        if(l==r)
            return l;

        int res=st[st[v].ls].cnt-st[st[o].ls].cnt,m=(l+r)>>1;
        if(k<=res)
            return _quire(k,st[o].ls,st[v].ls,l,m);
        else
            return _quire(k-res,st[o].rs,st[v].rs,m+1,r);
    }

    inline void init(int n)
    {
        cur=rc=0;
        rt[rc++]=_build(1,n);
    }

    inline void insert(int n,int pos)
    {
        rt[rc]=_insert(pos,1,n,rt[rc-1]);
        rc++;
    }

    inline int quire(int n,int k,int l,int r)
    {
        return _quire(k,rt[l-1],rt[r],1,n);
    }
}fst;

int hl[MAXN],hs[MAXN];

int main()
{
    int n,m;
    while(scanf("%d%d",&n,&m)!=EOF)
    {
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&hs[i]);
            hl[i]=hs[i];
        }

        sort(hl+1,hl+n+1);
        int nn=unique(hl+1,hl+n+1)-hl-1;
        fst.init(nn);

        for(int i=1;i<=n;i++)
            fst.insert(nn,lower_bound(hl+1,hl+nn+1,hs[i])-hl);

        while(m--)
        {
            int s,t,k;
            scanf("%d%d%d",&s,&t,&k);
            printf("%d\n",hl[fst.quire(nn,k,s,t)]);
        }
    }
    return 0;
}

感謝各位的閱讀,以上就是“THE函數(shù)式線段樹代碼怎么寫”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對THE函數(shù)式線段樹代碼怎么寫這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

文章名稱:THE函數(shù)式線段樹代碼怎么寫-創(chuàng)新互聯(lián)
瀏覽地址:http://aaarwkj.com/article32/cchppc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作企業(yè)建站、云服務(wù)器網(wǎng)站建設(shè)、App開發(fā)、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
欧美激情中文字幕日韩精品| 成人免费视频一区二区三区| 国产午夜在线影院一区二区| 欧美日韩在线一区二区精品| 国产亚洲综合另类色专区| 久久亚洲精品综合一区| 国产精品白嫩初高中害羞小美女| 亚洲超清av在线播放一区二区| 日韩在线啊啊啊的视频| 成人爱爱在线视频免费观看| 国产精品成久久久久三级| 婷婷国产综合一区二区三区| 欧美亚洲国产日韩熟女| 国产91日韩欧美在线观看| 国产深夜福利在线观看| 99精品人妻一区二区三区蜜桃| 高潮内射主播自拍一区| 99热在线精品国产观看| 本色啪啪人妻夜嗨嗨av| 91一区二区三区在线| 成人午夜激情在线观看| 久久久精品国产亚洲av日韩| 国产99热这里只有精品| 日本午夜一区二区在线观看| 丰满人妻一区二区三区色| 国产精彩在线视频成人在线| 黄色欧美在线观看免费| 凹凸69堂国产成人精品| 亚洲国产免费一区二区| 亚洲av一区二区在线看| 日韩一区二区亚洲精品| 天天操夜夜操白天操晚上操| 精品国产av一区二区麻豆| 国产亚洲黄片免费在线观看| 一区二区日韩激情在线观看视频 | 日韩一区二区人妻在线| 熟女俱乐部五十路六十路 | 黄片免费视频大全在线观看| 青青草原高清在线观看| 日本视频天堂在线不卡| 每日更新中文字幕粉嫩av|