題意:給出每只狗的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...