3084 車庫

Task
N個停車位,m輛車。每個時刻來一輛或者走一輛。車到達時,有多個停車位選編號最小的,如果沒有停車位,就等待。車走時,若有多輛車等待,先到先得空車位。
每輛車花的代價=停車位i的價格v*車j的重量w。求所有車的總代價。
N<=100,m<=200,v<=100,w<=10000

Solution
此題與3081排隊大同小異。
考察了堆和隊列的應用。
如果當前來了一輛車,那麼它取的空車位是確定的,即當前空車位中編號最小的。對於最值信息的維護,我們可以使用堆。
如果確定每個車位的優先級,放入堆中,每次來都彈出一個最小值,就可以保證要求。

等待的車符合先進先出的特點,可以用隊列存下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章