考試題string 線段樹。

2022-05-21 06:38:59 字數 2156 閱讀 9136

string

【題目描述】

給定乙個由小寫字母組成的字串 s。有 m 次操作,每次操作給

定 3 個引數 l,r,x。如果 x=1,將 s[l]~s[r]公升序排序;如果 x=0,將 s[l]~s[r]

降序排序。你需要求出最終序列。

【輸入資料】

第一行兩個整數 n,m。第二行乙個字串 s。接下來 m 行每行三

個整數 x,l,r。

【輸出資料】

一行乙個字串表示答案。

【樣例輸入】

5 2cabcd

1 3 1

3 5 0

【樣例輸出】

abdcc

【資料範圍】

對於 40%的資料,n,m<=1000。

對於 100%的資料,n,m<=100000。

題解:正解不明,但可以寫出nlogn*26*26的線段樹(然而只比暴力多10分)。

看到一共只有26個字母,考慮列舉每個字母,統計在區間內部的個數,那麼對於每種字母,顯然如果按順序排序,那麼顯然是從a~z,乙個乙個區間覆蓋,區間清空。

線段樹實現,當然lz打的是區間覆蓋的標記,只要當前這個節點的元素值是什麼,那麼其他兒子節點的元素值就什麼,就實現了區間清空和區間加法。

**:

#include #include 

#include

#include

#include

#include

#define maxn 110000

#define rg register

using

namespace

std;

struct

nodea[maxn*4

];int

n,q;

char

ch[maxn];

int chuan[maxn],tot[26

];inline

void pushup(int

xv)inline

void pushdown(int xv,int x,int

y) a[xv*2].lz=a[xv*2+1].lz=1

; }

}inline

void build(int xv,int l,int

r) a[xv].l=l,a[xv].r=r;

int mid=(l+r)/2

; build(xv*2,l,mid),build(xv*2+1,mid+1

,r);

pushup(xv);

}inline

int query(int xv,int l,int r,int

k) pushdown(xv,mid-l+1,r-mid);

if(r<=mid) return query(xv*2

,l,r,k);

else

if(l>mid) return query(xv*2+1

,l,r,k);

else

return query(xv*2,l,mid,k)+query(xv*2+1,mid+1

,r,k);

}inline

void update(int xv,int l,int r,int

k) pushdown(xv,mid-l+1,r-mid);

if(r<=mid) update(xv*2

,l,r,k);

else

if(l>mid) update(xv*2+1

,l,r,k);

else update(xv*2,l,mid,k),update(xv*2+1,mid+1

,r,k);

pushup(xv);

}inline

int query2(int xv,int

ps) pushdown(xv,mid-l+1,r-mid);

if(ps<=mid) return query2(xv*2

,ps);

else

return query2(xv*2+1

,ps);

}int

main()}}

else}}

}for(int i=1;i<=n;i++)

return0;

}

考試題題解

主講人igl albl 試題t2 t3 t1 t4 t5 暴力 dfs所有路徑,在使用clock的情況下預計 text 題意 給你一張有向圖,距離為 text 的正整數次冪的兩點間可以重新連一條長為 text 邊,求在此情況下的從起點到終點最短路。我們用 text 表示點 text 到點 text ...

C程式考試題

1 構成乙個c程式的是 a 若干個主函式和最多乙個非主函式 b 若干個主函式和若干個非主函式 c 乙個主函式和最多乙個非主函式 d 乙個主函式和若干個非主函式 2 合法的 語言識別符號是 a a1 b a b c 3abc d ab,cd 3 表示式a c b 的值是 其中 a 4,b 5,c 6 ...

linux入門考試題

rhcsa模擬測試 考試時間為2小時 共18題 考試資訊 ipaddr 172.25.254.x x 在這裡指您的工作站編號加100 netmask 255.255.255.0 gateway 172.25.254.250 dns 172.25.254.250 yum源位址為 1.在進行考試之前,請...