POJ 2761 離線線段樹

2021-06-22 00:32:31 字數 667 閱讀 6063

題意:給出每只狗的pretty value,然後多次詢問,每次輸出區間[i,j](狗站成一排,從第i只到第j只)的第k小的值是多少。區間之間有交叉,但是沒有完全包含。

#include "iostream"

#include "algorithm"

#include "stdlib.h"

#include "stdio.h"

using namespace std;

const int maxn=100010;

struct value

value[maxn];

struct feed

feed[maxn];

struct comp

data[4*maxn];

int a[100010];

int ans[50010];

int cmp1(const void *a,const void *b)

int cmp2(const void *a,const void *b)

void build(int l,int r,int k)

void insert(int n,int k,int op)

int search(int k,int op)

int main()

else

{for (j=ll;j

求區間第K小值的兩種解法 POJ2761

前幾天學習了劃分樹和sbt,一直沒機會訓練一下,今天實驗室有網了,就訓練poj上面一道水題。分別用兩種資料結構來實現了一下!這道題題目很簡單,就是給定序列,求區間最小值!sbt include include using namespace std define m 100005 struct sb...

poj 2828 線段樹查詢第k小 離線處理

題意 排隊問題,每次把vali插到posi的位置,問最後的序列 思路 如果順著做的話,複雜度n 2無法接受,我們可以發現乙個重要的性質,前面的數對後面的沒有影響,後面插入的對前面有影響,所以倒序處理,每個插入的位置其實是在當前所有排位的第posi 1個空位的位置這個很容易證明,在原有的左邊插入,不會...

HDU 3333 離線線段樹

線段樹 給定乙個序列,求區間出現的數的數值和,若有多個,只計算一次 先離散化存數資料 對詢問區間按右節點排序,這樣我們每次維護的都是從前到當前位置,保證其重複元素不累加 跟新節點,對於之前出現過的刪除,並在新位置新增 然後查詢即可 include iostream include algorithm...