財神娛樂首存即享優惠回饋唷~詳情請進👉

【數據布局】維護行列步星城隊

撲克牌遊戲

T69293 維護行列步隊

標題描寫

Alice 給 Bob 布置了許多事情,他忙的弗成開交,決定按照“進步前輩先出(FIFO)”的次序依次處置這些事情。然則處置進程中,Bob 意想到這類次序可能不是最優的,是以他會選擇性的把某些事情延后。

形象來說,你必要維護一個行列步隊,支撐三種操作:

操作一:1?v,在隊尾參加一個代價為?v?的使命。

操作二:2,若是當前行列步隊為空,輸入 -1;不然輸入隊頭使命的代價,并將隊頭彈q8娛樂城出。

操作三:3,若是當前行列步隊為空,則不進行任何操作;不然將行列步隊中代價最小的使命挪到隊尾,保障沒有代價相等的使命。

輸出輸入格局

輸出格局:

?

第一行一個整數?n,透露表現操作個數。

接上去?n?行,每行一個或者兩個整數,格局如上。

?

輸入格局:

?

關于每個操作?2,輸入謎底。

?

輸出輸入樣例

輸出樣例#1:?

5
1 1
1 2
2
2
2

輸入樣例#1:?


大樂透玩法包牌

1
2
-1

輸出樣例#2:?

6
1 1
1 2
3
2
2
2

輸入樣例#2:?

2
1
-1

【題解】:
聽過講授以后,發明這個設法特別很是乏味。
實在Push,Pop一般行列步隊都可以維護,然則關于Mov操作就必要人人開動一下頭腦了。
實在Mov紛歧定必要挪移。必要的是標志,最小值標志,然后用Set來查找最小值的地位,
然后Push出來的汗青編號。
失去的Val[No] 用數組來保管汗青編號的值即可。
Push( ) 進入行列步隊不僅僅是行列步隊,還有Set。
Pop( ) 彈出時注重,有些用Mov標志的可能浮現在隊頭,記得要把它彈出。
Mov( )操作觸及到兩個成績。
第一個:用Set的頭元素即為最小值的,同時Set存的是pair類型,
第一樞紐字是:權值,val,第二樞紐字為:汗青編號 ,No
Set間接找到對應的汗青編號進行標志。
同時在Set刪除,然后關于行列步隊來說,從新Push出來一個val值。

附上代碼:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int N = 3e5+100;
 4 queue <int> Q ;
 5 set< pair<int,int> > S;
 6 int cur,val[N],top ;
 7 bool deleted[N];
 8 void push( int v ){
 9     cur ++ ;
10     val[cur] = v;
11     Q.push(cur);
12     S.insert( make_pair(v,cur) );
13 }
14 int pop(){
15     if( S.empty() ) return -1;
16     while( deleted[Q.front()] ){
17         Q.pop();
18     }
19     int ret = Q.front();
20     Q.pop();
21     S.erase( make_pair(val[ret],ret) );
22     return val[ret];
23 }
24 void mov(){
25     if( S.empty() ) return ;
26     deleted[S.begin()->second] = true ;
27     push(val[S.begin()->second]);
28     S.erase( S.begin() );
29 }
30 int main()
31 {
32     int n,opt,v;
33     scanf("大眾%d"大眾,&n);
34     while(n--){
35         scanf("大眾%d公眾,&opt);
36         if( opt == 1 ){
37             scanf("大眾%d公眾六合彩玩法规则,&v);
38             push(v);
39         }else if( opt == 2 ){
40             printf("大眾%d\n"大眾,pop());
41         }else{
捕 魚 達人-大型 機 台 打 魚 完美移植42             mov();
43         }
44     }
45     return 0;
46 }

維護行列步隊

【免責聲明】本站內容轉載自互聯網,其相關談吐僅代表作者小我私家概念盡非權勢巨子,不代表本站態度。如您發明內容存在版權成績,請提交相關鏈接至郵箱:,咱們將實時予以處置。