FJUT2595 查詢佇列 並查集

2021-09-16 18:33:00 字數 950 閱讀 8166

初始時,乙個佇列中有n個數,分別為1,2,……n

接下來有m個操作,每次操作刪去佇列中在數值範圍內[l,r]內最小的數

input

每個測試檔案只有一組資料

第一行是兩個整數n,m

接下m行,每行有兩個整數l,r

其中n<=1e6,m<=1e6

1其中20%的資料

n <=10000

m<=10000

其中80%的資料

n <= 100000

m<=1000000

其中100%的資料

n <=1000000

m<=1000000

output

對於每次操作輸出被刪去的數,若不存在數值在[l,r]內的數則輸出-1

sampleinput

10 10

2 10

3 51 6

1 64 9

4 43 3

5 56 10

4 5sampleoutput23

145-1

-1-16-1

這題是個並查集。初始化每個點的父節點都是自己,如果選過後,把當前的點的父節點往後移動以為即可,那麼每次查詢 只要看查詢的左端點的父節點在不在此區間內,在就輸出,並且父節點後移,不在就輸出-1。值得注意的一點是因為父節點後移的問題 初始化時候要初始化到n+1

下面獻上low逼**

`

#include

using namespace std;

int father[

1000005];

int n,m;

void

chu(

)///初始化

intfind

(int x)

///找父節點

return x;

}int

main()

}}

並查集查詢 合併查詢

並查集是一種樹型的資料結構,用於處理一些不相交集合 disjoint sets 的合併及查詢問題。常常在使用中以森林來表示。集就是讓每個元素構成乙個單元素的集合,也就是按一定順序將屬於同一組的元素所在的集合合併。並查集的核心操作在於查詢與合併,在查詢的時候可以通過遞迴的方式實現路徑的壓縮。inclu...

4093 倒排索引查詢 bitmap並查集

總時間限制 1000ms 記憶體限制 131072kb 描述 現在已經對一些文件求出了倒排索引,對於一些詞得出了這些詞在哪些文件中出現的列表。要求對於倒排索引實現一些簡單的查詢,即查詢某些詞同時出現,或者有些詞出現有些詞不出現的文件有哪些。輸入 第一行包含乙個數n,1 n 100,表示倒排索引表的數...

POJ 1456 貪心 優先佇列 並查集

題意 傳送門 poj 1456 supermarket 題解貪心 優先佇列 使用貪心策略,對於每個時間點 t tt,在保證不賣出過期商品的情況下,盡量賣出利潤前 t tt 大的商品。按照過期時間從小到大對商品排序,順序考慮商品,使用優先佇列動態維護滿足上述性質的方案。對於每乙個掃瞄到的商品,若其過期...