初始時,乙個佇列中有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 大的商品。按照過期時間從小到大對商品排序,順序考慮商品,使用優先佇列動態維護滿足上述性質的方案。對於每乙個掃瞄到的商品,若其過期...