看到了 這文章,由於我不太懂他的**,所以我按他的題和思路,寫了**;
思路我就不寫了,就是動態規劃的思路,先保證區域性最優,再慢慢向全區域性最優;
#include #include #include #include using namespace std;
const int m=100;
int coinsum[m];
int coinvalue[m];
void findmin(int coin, int money)
} coinvalue[i] = flag;
coinsum[i] = min;
} printf("coin sum = %d\n",coinsum[money]);
int n = coinsum[money];
printf("coin value = ");
while(n--)
}int main();
int money = 18;
findmin(coin, money);
return 0;
}
硬幣找零問題(動態規劃)
給定指定的硬幣種類,面值為 1,3,5 在此具體化些 給定所找零的錢數 sum,給出最少的硬幣找零數,每個種類的硬幣無限使用。看到這問題,當時我想到用貪心演算法來求解,最後求解方案因為巧合對了,後來在網上看到動態規劃的題目,才知道貪心演算法得不到最優解,比如 給定 面值為 1,3,4,給定找零數為 ...
動態規劃 最小硬幣找零問題
這題很典型是動態規劃問題,為什麼呢?首先我們可以看一下什麼問題可以被看做動態規劃問題。因此動態規劃的精髓在於,充分利用上一次的計算結果來達成本次快速計算的目的 ok,一般我們解決動態規劃問題可分為三步走 分析問題的狀態時,不要分析整體,只分析最後乙個階段即可!因為動態規劃問題都是劃分為多個階段的,各...
動態規劃之硬幣找零問題
將 n 個硬幣按照面值進行排序,使得 c 1 c 2 c n s leftarrow empty while x 0 k leftarrow largest coin denomination c k such that c k leq x 最大硬幣面值 c k 使得 c k leq x if no...