長江俱樂部在長江設定了n個遊艇出租站1,2,…n,遊客可在這些遊艇出租站租用遊艇,並在下游的任何乙個遊艇出租站歸還遊艇。遊艇出租站i到遊艇出租站j之間的租金為r(i,j),
設計乙個演算法,計算出從出租站1到出租站n所需要的最少租金。
測試用例:
3(站數)
5 15(第一站到其他相應各站的租金)
7(第二站到其他相應各站的租金)
根據題意,先將輸入的各站點之間的費用存入陣列,這裡可以通過位置表示出具體的花費,即num[i][j]表示站點i到站點j所花費的錢,用dp陣列進行動態規劃,由於題目問的是從站點1出發到最後乙個站點的花費,所以可以將陣列簡化,dp[i]表示從第乙個站點到第i個站點所花費的最小花費,不難得出狀態轉移方程:dp[i]=min(dp[i],dp[j]+num[j][i]),即取乙個中間點j如果到j中轉一下花費更少的話就取這個更小值,最後輸出dp[n]即可。
**如下:
#includeusing namespace std;
int n;
int num[1005][1005];
int dp[1005];
int main()
return 0;
}
計算機演算法設計與分析解題心得
先觀察問題的結構 解的形式,再設計演算法 能分解成子問題,是非常有效的資訊 優化問題時,下界很重要。給乙個問題,從最簡單的case入手 觀察input的關鍵結構,看能否分 能否combine 觀察output,不要堅持追求optimal,追求sub optimal。sample.手動執行最基本的演算...
計算機演算法設計與分析 棋盤覆蓋問題
一 實驗目的與要求 1 掌握棋盤覆蓋問題的演算法 2 初步掌握分治演算法 二 實驗題 盤覆蓋問題 在乙個2k 2k 個方格組成的棋盤中,恰有乙個方格與其它方格不同,稱該方格為一特殊方格,且稱該棋盤為一特殊棋盤。在棋盤覆蓋問題中,要用圖示的4種不同形態的l型骨牌覆蓋給定的特殊棋盤上除特殊方格以外的所有...
計算機演算法設計與分析 工作安排問題
問題描述 設有n件工作分配給n個人,將工作i分配給第j個人所需的費用為cij。試設計乙個演算法,為每個人都分配一件不同的工作,並使得總費用達到最小。輸入 第1行有1個正整數n 1 n 20 接下來的n行,每行n個數,表示工作費用。輸出 計算的最小總費用 樣例輸入 310 2 3 2 3 4 3 4 ...