BZOJ1056 HAOI2008 排名系統

2022-03-29 17:11:38 字數 1515 閱讀 8561

bzoj1056: [haoi2008]排名系統

排名系統通常要應付三種請求:上傳一條新的得分記錄、查詢某個玩家的當前排名以及返回某個區段內的排名

記錄。當某個玩家上傳自己最新的得分記錄時,他原有的得分記錄會被刪除。為了減輕伺服器負擔,在返回某個區

段內的排名記錄時,最多返回10條記錄。

第一行是乙個整數n(n>=10)表示請求總數目。接下來n行,每行包含了乙個請求。請求的具體格式如下: +na

me score 上傳最新得分記錄。name表示玩家名字,由大寫英文本母組成,不超過10個字元。score為最多8位的正

整數。 ?name 查詢玩家排名。該玩家的得分記錄必定已經在前面上傳。 ?index 返回自第index名開始的最多10名

玩家名字。index必定合法,即不小於1,也不大於當前有記錄的玩家總數。

對於?name格式的請求,應輸出乙個整數表示該玩家當前的排名。對於?index格式的請求,應在一行中依次輸

出從第index名開始的最多10名玩家姓名,用乙個空格分隔。

20+adam 1000000 加入adam的得分記錄

+bob 1000000 加入bob的得分記錄

+tom 2000000 加入tom的得分記錄

+cathy 10000000 加入cathy的得分記錄

?tom 輸出tom目前排名

?1 目前有記錄的玩家總數為4,因此應輸出第1名到第4名。

+dam 100000 加入dam的得分記錄

+bob 1200000 更新bob的得分記錄

+adam 900000 更新adam的得分記錄(即使比原來的差)

+frank 12340000 加入frank的得分記錄

+leo 9000000 加入leo的得分記錄

+kaine 9000000 加入kaine的得分記錄

+grace 8000000 加入grace的得分記錄

+walt 9000000 加入walt的得分記錄

+sandy 8000000 加入sandy的得分記錄

+mick 9000000 加入mick的得分記錄

+jack 7320000 加入jack的得分記錄

?2 目前有記錄的玩家總數為12,因此應輸出第2名到第11名。

?5 輸出第5名到第13名。

?kaine 輸出kaine的排名

2cathy tom adam bob

cathy leo kaine walt mick grace sandy jack tom bob

walt mick grace sandy jack tom bob adam dam

4n<=250000

乍一看,這題怎麼這麼眼熟呢???

哦,省選題互抄啊。。。

題解就不再寫了,直接看這個題吧:

BZOJ1055 HAOI 玩具取名

某人有一套玩具,並想法給玩具命名。首先他選擇wing四個字母中的任意乙個字母作為玩具的基本名字。然後 他會根據自己的喜好,將名字中任意乙個字母用 wing 中任意兩個字母代替,使得自己的名字能夠擴充得很長。現在,他想請你猜猜某乙個很長的名字,最初可能是由哪幾個字母變形過來的。第一行四個整數w i n...

BZOJ 1046 HAOI 上公升序列

1046 haoi2007 上公升序列 time limit 10 sec memory limit 162 mbsubmit 5376 solved 1862 submit status discuss description 對於乙個給定的s 若有p 滿足 x1 x2 xm 且 ax1 2 出s...

bzoj2431 HAOI2009 逆序對數列

對於乙個數列,如果有ii aj,那麼我們稱ai與aj為一對逆序對數。若對於任意乙個由1 n自然數組成的數列,可以很容易求出有多少個逆序對數。那麼逆序對數為k的這樣自然數數列到底有多少個?第一行為兩個整數n,k。寫入乙個整數,表示符合條件的數列個數,由於這個數可能很大,你只需輸出該數對10000求餘數...