P2776 SDOI2007 小組佇列

2022-05-13 13:17:56 字數 1358 閱讀 1866

嘛,這道非常簡單的給大家提供信心的省選題洛谷居然沒有!

這麼簡單的題怎麼可以沒有!

給大家提公升士氣是義不容辭的責任!

所以我就來補一下啦..

值得一提的是,標程是我自己做的..

很渣,因為資料很水所以能ac..

大神勿噴..

有 m 個小組, n 個元素,每個元素屬於且僅屬於乙個小組。

支援以下操作:

pop:出隊,彈出隊頭並輸出出隊元素,出隊的方式和普通佇列相同,即排在前邊的元素先出隊。

輸入格式:

第一行有兩個正整數 n, m,分別表示元素個數和小組個數,元素和小組均從 0 開始編號。

接下來一行 n 個非負整數 ai,表示元素 i 所在的小組。

接下來一行乙個正整數 t ,表示運算元。

接下來 t 行,每行為乙個操作。

輸出格式:

對於每個出隊操作輸出一行,為出隊的元素。

輸入樣例#1:

4 2

0 0 1 1

6push 2

push 0

push 3

poppop

pop

輸出樣例#1:

2

30

對於30%的資料,1≤n≤100,1≤m≤10,t≤50。

對於100%的資料,1≤n≤100000,1≤m≤300,t≤100000,輸入保證操作合法。

第一次用到二維佇列

用last來表示每乙個小組內元素出現的順序

q佇列表示每乙個小組出現的順序

我們想一下,如果乙個元素所屬的小組在之前出現過

那麼我們直接加到last佇列裡就好

這樣可以保證按照小組的順序輸出

1 #include2 #include3 #include4 #include5 #include6

using

namespace

std;

7int read(int &n)815

while(c>='

0'&&c<='9'

)1620if(flag==1)n=-x;

21else n=x;22}

23const

int maxn=10000001

;24 queueq,last[301

];25

intgroup[maxn];

26int

main()

2744

else

4552}53

return0;

54 }

P1093 NOIP2007 普及組 獎學金

先按總分從高到低排序,如果兩個同學總分相同,再按語文成績從高到低排序,如果兩個同學總分和語文成績都相同,那麼規定學號小的同學 排在前面,這樣,每個學生的排序是唯一確定的。這句話可以理解為下面這段 int cmp student a,student b include using namespace ...

P2455 SDOI2006 線性方程組

p2455 sdoi2006 線性方程組 真 cdot 高斯消元模板題 由於各種hack資料被造出來 碼量突增 其實也就多了二三十行 將每行係數消到最多有乙個非0數 特殊情況 在過程同時 沒有這元了,則表示有無窮解 發現一行係數都為0,但函式值不為0,則表示無解 最後要注意的是,無窮解的前提是有解 ...

P2455 SDOI2006 線性方程組

自信地把那個模板敲下來,只有60。因為我又不知道如何判無解或者無窮解。然後在漫長的查資料過程中,我改變了我的寫法。雖然原來那種解法理解起來也很容易,但是過不了,所以我決定抄另一種高斯消元模板。從這裡抄的 原來的方法需要回帶才可以解決,但是如果使用上面的,就不需要回帶。每一條方程式都是最標準的形式。要...