洛谷 P1016 旅行家的預算(貪心 模擬)

2022-04-06 18:09:34 字數 718 閱讀 7465

貪心的策略是:

從起點/其中乙個加油站出發,所能到達的所有加油站中,如果有比當前加油站**便宜的,則從當前加油站加定量油正好跑到那個最近的**便宜的加油站;如果都比當前加油站貴,則加滿油並跑到**最低的乙個。

再注意一些邊界條件的處理。

ac**:

1 #include2 #include3

using

namespace

std;

4const

int n=10;5

double

d1,c,d2,pp,len;

6intn;7

bool

flag;

8double

d[n],p[n];

9void dfs(int pos,double left,double cost,int

pre)

11double _len=len+d[pos];

12for(int i=pos+1;i<=n+1&&d[i]<=_len;i++)14}

15if(pos+1

<=n+1&&d[pos+1]<=_len)

20 dfs(_pos,c-(d[_pos]-d[pos])/d2,cost+double(c-left)*p[pos],pos);

21return;22

}23}24

intmain()

ac**

洛谷P1016 旅行家的預算 貪心

這道題就是貪心 1 在第乙個加油站的時候,如果在加滿油能夠到達的加油站中有乙個加油站的錢比自己的少 其實等於也行 那就 加足夠到那個車站的油,直接去那個車站 2 這些車站中所有都比自己大,那就找乙個其中錢最少的車站 在當前車站加滿油,然後直接開到那個車站 3 然後到達車站時就不斷重複以上的處理方法 ...

洛谷 P1016 旅行家的預算

原題鏈結 這是一道比較簡單的貪心題目。這個題的解法如下 如果把起點定為第0個加油站,終點定為第n 1個加油站。從第0個點開始,驅車至能到達的最遠的那個加油站,在第0個點把油加滿。這其中會遇到三種情況 1.中間有乙個比出發點油價更便宜的加油站。2.中間的油價都比出發點高。3.不能到達下乙個加油站。很容...

(貪心)P1016 旅行家的預算

應用 題庫訓練 比賽記錄討論 題目提供者ccf noi 評測方式雲端評測標籤noip提高組1999 難度普及 提高 時空限制1000ms 128mb 提交 題解 乙個旅行家想駕駛汽車以最少的費用從乙個城市到另乙個城市 假設出發時油箱是空的 給定兩個城市之間的距離d1d1 汽車油箱的容量cc 以公升為...