poj 3253
摘要:
题目就是给一块木板,它有一个长度,现在要把它据成一个个指定长度的木板,但每次锯一块木板的时候要收取木板长度那么多钱。现在给定小木板的个数,以及每个小木板的长度,问从一个全长为所有木板和的木板锯成这些小木板,需要交的最少金额是多少。算法:这题其实就是让你构造哈夫曼树,这样的代价是最小的。但我们不必真的去构造哈夫曼树,我们只需要了解我们在树中要得到的东西就行了。在这题中我们需要从哈夫曼树的最底层的子树根结点值开始加起,每次只加根结点的值,一直走到总根结点就行,也就是说,每次取最小的两个数相加。可以用优先队列实现。代码:#include<iostream>#include<fstr 阅读全文
posted @ 2011-05-09 12:05 宇宙吾心 阅读(193) 评论(0) 推荐(0)
浙公网安备 33010602011771号