優先佇列的應用

2021-10-19 14:22:12 字數 555 閱讀 9402

思路分析

**駕駛一輛卡車行駛l單位距離。最開始時,卡車上有p單位的汽油。卡車每開1單位距離需要消耗1單位的汽油。如果在途中車上的汽油耗盡,卡車就無法繼續前行,因而無法到達終點。在途中一共有n個加油站。第i個加油站在距離起點ai單位距離的地方,最多可以給卡車加油bi單位汽油。假設卡車的燃料箱的容量無限大,無論加多少油都沒問題。那麼請問卡車是否能到達終點?如果可以,輸出最少需要加油的次數;否則,輸出-1。

輸入

n=4,l=25,p=10

a=b=

tank+

=que.

top();

que.

pop();

ans++;}

tank-

=d; pos=a[i]

; que.

push

(b[i]);

} cout<}int

main()

for(

int i=

0;i)solve

(n,l,p,a,b)

;return0;

}

優先佇列的應用

1.基本概念 2.關於優先佇列的優先順序 自部落格 priority queue,less 大的優先順序大 priority queuevector,greater 小的優先順序大 當然優先順序也可以自己寫比較函式自己定義 struct cmp1 struct cmp2 priority queue...

Add All uva優先佇列的應用

題目的解法屬於貪心,因為cost a1 a2,所以要保證每次的cost最小,所以說,每次將佇列中最小的兩個相加,得出來的數放入佇列中,再取2個最小的相加,直到全部加完,所以這就涉及了乙個取2個最小數的問題,我說一下我一開始的做法 include include includeusing namesp...

優先佇列的簡單應用

priority queue是種一種功能強大的佇列,本質是乙個堆 1.標頭檔案是 include 實際編譯過程中要加上 include 2.關於priority queue中元素的比較 模板申明帶3個引數 priority queue 其中type 為資料型別,container為儲存資料的容器 s...