題目描述
在某條線路上有n個火車站,有三種距離的路程,l1,l2,l3,對應的**為c1,c2,c3.其對應關係如下: 距離s 票價 09,09。 每兩個站之間的距離不超過l3。 當乘客要移動的兩個站的距離大於l3的時候,可以選擇從中間乙個站下車,然後買票再上車,所以乘客整個過程中至少會買兩張票。 現在給你乙個 l1,l2,l3,c1,c2,c3。然後是a b的值,其分別為乘客旅程的起始站和終點站。 然後輸入n,n為該線路上的總的火車站數目,然後輸入n-1個整數,分別代表從該線路上的第乙個站,到第2個站,第3個站,……,第n個站的距離。 根據輸入,輸出乘客從a到b站的最小花費。
輸入描述:
以如下格式輸入資料:
l1 l2 l3 c1 c2 c3
a bn
a[2]
a[3]
……a[n]
輸出描述:
可能有多組測試資料,對於每一組資料,
根據輸入,輸出乘客從a到b站的最小花費。
**:動態規劃問題
//考點:dp(動態規劃),最短代價問題
//s(n)=o(n*n)
//思路:1.使用ticket函式求出每兩站距離對應的**
// 2.初始化從第一站到第i站的距離
// 3.第乙個for迴圈i從a+1開始到b
// 巢狀乙個for迴圈,j從a開始一直到i之前,即到i站的票可能是從j站買的
// 判斷從j站買票是否比以往的方案更省錢
#includeusing namespace std;
int l1,l2,l3,c1,c2,c3;
int a,b;//分別表示起始點和終點站
int n;//路線上的總的火車站數目
//計算兩地的票價
int ticket(int dis)
int main()}}
cout<}
return 0;
}
牛客網 排序(歸併排序最小花費)
時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 題目描述 小a有乙個dna序列串,強迫症的小a看它不順眼,想將它排好序。給定長為n的dna序列串s 僅由 a,t,g,c 最多四種字元構成 你可以進行任意次如下操作...
最小花費 Dijkstra
原題鏈結傳送門 d es crip tion description descri ptio n在n個人中,某些人的銀行賬號之間可以互相轉賬。這些人之間轉賬的手續費各不相同。給定這些人之間轉賬時需要從轉賬金額裡扣除百分之幾的手續費,請問a最少需要多少錢使得轉賬後b收到100元。i np ut inp...
砍樹最小花費
題意 有n種樹,每種樹給出高度h,砍掉每顆樹的花費c,每種樹的數量p,現在要砍掉一些樹,使得最高的樹的數量超過所有樹的一半,問最小花費。不同種類的樹高度可能相同 題解 列舉不同的高度,把高於它的樹都砍掉,然後比它矮的樹挑便宜的砍,使得該高度的樹佔所有樹的1 2 1。給樹按高度排序,首先可以用字尾和預...