機房練習賽4 4 intkth 區間第k小及修改

2021-07-30 01:43:44 字數 2382 閱讀 4659

input file: intkth.in

output file: intkth.out

time limit: 3 seconds

memory limit: 512 mb

我看好你喲。

給你乙個長度為n 的序列,有m 個操作:

• modify u x 將第u 個數修改為x

• query l r k 詢問區間[l; r] 中第k 小的數1

input

第1 行2 個整數:n m,表示序列長度和運算元。

第2 行n 個整數:a1 a2 a3 : : : an,表示給定序列。

接下來m 行,每行表示上面的某個操作。

output

對於每個詢問操作,輸出其結果。

sample

intkth.in

5 5

5 2 1 3 4

query 1 4 3

modify 4 5

query 1 4 3

modify 1 3

query 1 4 3

intkth.out

3 5

3note

• 對於30% 的資料,1 nm 103

• 對於100% 的資料,1 nm 105,1 aiux n,1 k r �� l + 1,1 l r n

樹狀陣列套可持久化值域線段樹

/*#include

using namespace std;

const int n = 100000 + 5;

inline int

read()

while( ch >= '0' && ch <= '9' )

return

x*f;

}struct nodepool[n*200],*roots[n],*tail = pool, *null, *va[10000], *vb[10000];

int n,q;

int aa[n];

int ca, cb;

void init()

node *newnode()

void modify( int lf, int rg, int

pos, int delta )

modify( lf, mid, pos, delta );

} else

modify( mid+1, rg, pos, delta );

}}int query_seg( int lf, int rg, int k ) else

}void modify( int u, int

x, int delta )

void modify( int u, int

x )

int query( int lf, int rg, int k )

int main()else

}return

0;}*/

//又打了一遍

#include

using namespace std;

const int n = 100000 + 5;

inline int

read()

while( ch >= '0' && ch <= '9' )

return

x*f;

}struct nodepool[n*200],*roots[n],*tail = pool, *null, *va[10000], *vb[10000];

int n,q;

int aa[n];

int ca, cb;

void init()

node *newnode()

void modify( int lf, int rg, int

pos, int delta )

modify( lf, mid, pos, delta );

} else

modify( mid+1, rg, pos, delta );

}}int query_seg( int lf, int rg, int k ) else

}void modify( int u, int

x, int delta )

void modify( int u, int

x )

int query( int lf, int rg, int k )

int main()else

}return

0;}

機房練習賽4 4 area 掃瞄線

input file area.in output file area.out time limit 2 seconds memory limit 256 mb 給出n 個矩形,求它們的面積並 更準確一點,每個矩形將給出它的左上角和右下角的位置 x1 y1 x2 y2 這四個數都是整數且滿足x1 x...

20170117 機房 練習賽

現代科學,面廣枝繁,不是一輩子學得了的。惟一的辦法是集中精力,先打破一缺口,建立一塊或幾塊根據地,然後乘勝追擊,逐步擴大研究領域。此法單刀直入,易見成效。王梓坤 我熱愛生活,我是一名快速成長的oier include include include define program name color...

機房練習賽 Dinner

本來看到這道題的第一想法是環形區間dp的,但是模擬完樣例我就恍然大悟,在10的時間內可以同時讓1,5點完餐,那不就是找最大值得最小值嗎?然後就是二分答案了,二分最少時間。然後就是我的玄學check 我在考試的時候是想到了變成二倍鏈在區間上處理的,但我直接o n 處理了每個區間的和不大於x的塊,然後列...