贪心算法 POJ3253 Fence Repair

题目大意:
【贪心算法 POJ3253 Fence Repair】将一很长的木板切割成N块。每块长度分别为L1、L2、... 、LN,每次切断木板时需要的开销为这块木板的长度。
我的理解:
这道题属于贪心算法类型,在做的时候要用到哈夫曼编码。
贪心算法 POJ3253 Fence Repair
文章图片
贪心算法 POJ3253 Fence Repair
文章图片

代码:

#include #include #include #define MAX_N 20000 using namespace std; /** 哈夫曼树--贪心算法 思想:对于最优解来讲,最短的板应当是深度最大的叶子节点之一 */ typedef long long ll; int L[MAX_N]; int n; void solve() { ll ans = 0; while(n>1){ int mii1 = 0,mii2 = 1; if(L[mii1] > L[mii2]) swap(mii1,mii2); for(int i = 2; in; for(int i = 0; i>L[i]; } solve(); return 0; }



    推荐阅读