題意簡述:需要購買n件物品,從m件商品中按順序進行選擇,求出從m件商品中購買到所需的n件物品最低消費,如果購不齊輸出impossible n>=0 && n <= 100 m>=0 & m<=100。
例1: 2 3
1 2
2 0.05
1 10.00
1 3.00
impossible
例2: 2 3
1 2
1 10.00
1 3.00
2 0.05
3.05
解決程式:
#include
using
namespace
std;
#define max 1e100 ; //最大值,表示不存在
int needs[100],goods[1000]; // needs 需要購買的物品 goods 可以選擇的商品
double price[1000]; //商品對應的**
double res[1000][100]; //從m件商品中購買n件商品所需的**
int main()
for(i=1;i<=m;i++)
for(j=1;j<=m;j++)}}
if(res[j][i] > 1e90) else
}
acm 動態規劃
學習參考 就是倒推 尋找遞推式 難點 然後用陣列將資料計算出來 最後直接呼叫得到答案 01揹包問題 for i 0 i 例題一 洛谷oj 開心的金明 include include using namespace std const int max 100001 long long dp max i...
《動態規劃》 ACM 動態規劃例題詳解
描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 圖1 圖1給出了乙個數字三角形。從三角形的頂部到底部有很多條不同的路徑。對於每條路徑,把路徑上面的數加起來可以得到乙個和,你的任務就是找到最大的和。注意 路徑上的每一步只能從乙個數走到下一層上和它最近的左邊的那個數或者右邊的那個數。輸...
ACM 動態規劃筆記
2.解決動態規劃問題,要先找出動態轉移方程來,動態轉移方程怎麼找呢?首先得定好,用哪幾個因子,可以明確的表示好乙個狀態,然後,再通過樣例或者特例或者硬想,找出子問題和父問題的關係,或者說,子問題怎麼push,可以影響到父問題?我感覺可以放開思路想,放心大膽的想,假設你不會動態規劃,讓你暴力搜尋,你會...