题目大意:将一块木板切成n块,问你最小所需要的费用是多少。
算法思路:哈夫曼编码实现,这里特别要注意(不是算切完后木板的长度计算费用,而是在切之前计算费用)
,千万不要理解错题意,我就是因为理解错题意而想错了算法。
#include<iostream> #include<queue> #include<cstdio> #include<cstring> using namespace std; int t,v; long long sum,res; typedef struct Node { int v; bool operator < (const Node &node) const{ return node.v<v; } }; int main() { priority_queue<Node>que; scanf("%d",&t); res=0;sum=0; for(int i=0;i<t;i++) { Node node; scanf("%d",&v); node.v=v; que.push(node); sum+=v; } while(true) { int a1=que.top().v; que.pop(); int a2=que.top().v; que.pop(); sum+=(a1+a2); if(que.size()==1) break; else { Node node; node.v=a1+a2; que.push(node); } } printf("%lld\n",sum); return 0; }
相关推荐
标题“POJ3253-POJ3253-Fence Repair【STL优先队列】”指的是一个在线编程竞赛题目,源自北京大学的在线判题系统POJ(Problem Online Judge)。该题目要求参赛者使用C++编程语言解决特定的问题,并且在解决方案中...
这道题目在于应用哈夫曼算法 其中涉及的排序算法可以直接调用库函数中的
【标题】"POJ1523 - SPF 测试数据"是源于 Greater New York 2000 年编程竞赛中的问题H,这个题目在ACM(国际大学生程序设计竞赛)领域内颇具代表性。SPF全称为Shortest Path First,通常指的是寻找图中最短路径的一...
* 哈夫曼树:哈夫曼树是指解决问题的哈夫曼树算法,如 poj3253。 * 堆:堆是指解决问题的堆算法。 * trie 树:trie 树是指解决问题的 trie 树算法,如 poj2513。 四、简单搜索 简单搜索是指解决问题的简单搜索...
* 哈夫曼树:例如 poj3253。 * 堆:例如 poj2513。 * trie 树:例如 poj2513。 4. 简单搜索: * 深度优先搜索:例如 poj2488、poj3083、poj3009、poj1321、poj2251。 * 广度优先搜索:例如 poj3278、poj1426、...
- 堆:如二叉堆,用于实现优先队列,如`poj3253`。 - 树:如二叉树和AVL树,用于存储和检索有序数据,如`poj2513`。 - **简单搜索** - 深度优先搜索:如`poj2488, poj3083`。 - 广度优先搜索:如`poj3278, poj...
- **例题**:poj3253 - **解释**:队列和栈是两种常见的线性数据结构,用于存储和管理数据元素。 #### 5. Trie树 - **例题**:poj2513 - **解释**:Trie树(字典树)是一种用于存储和检索字符串的高效数据结构。 #...
- **哈夫曼树**:压缩编码,如poj3253。 - **堆**:如优先队列,用于实现最大值或最小值的快速访问。 - **trie树**:用于高效字符串查询,包括静态和动态构建。 4. **搜索算法**: - **深度优先搜索**:如poj...
- (poj3253):探讨如何高效地进行元素插入、删除及查找等操作。 5. **区间数据结构**: - (poj2488, poj3083, poj3009, poj1321, poj2251):区间树、线段树等数据结构,用于处理区间查询问题。 6. **字典树...
poj1035、poj3080等训练了串的操作,poj2388、poj2299等则涉及排序问题,poj2524、poj1611等是并查集的实例,poj3349、poj3274等展示了哈希表和二分查找,poj3253是哈夫曼树的题目,poj2442和poj1442则关于堆。...
- 推荐题目:[poj3253](https://vjudge.net/problem/POJ-3253) - 树状数组(Binary Indexed Tree)常用于区间加、区间查询等问题。 5. **Trie树** - 推荐题目:[poj2513](https://vjudge.net/problem/POJ-2513) ...
- poj3253 - **应用场景**:适用于数据压缩、编码问题。 **6. 堆** - **定义**:一种特殊的完全二叉树结构。 - **示例题目**: - poj2442 - **应用场景**:适用于实现优先队列、堆排序等问题。 **7. Trie 树** -...
5. **哈夫曼树**:用于压缩编码,如POJ3253。 6. **堆**:用于优先队列和部分排序问题。 7. **Trie树**:用于字符串查找和前缀匹配,分为静态建树和动态建树,如POJ2513。 ### 简单搜索 1. **深度优先搜索(DFS)**...
- **示例题目**: poj3253 - **知识点**: - **并操作**:将两个集合合并成一个集合。 - **查找操作**:查询某个元素所在的集合。 ### 四、字符串 #### 1. 字符串匹配 - **内容**: 包括KMP算法等字符串匹配算法。...
* 哈夫曼树:POJ3253 * 背包问题:POJ1837、POJ1276 * DP算法:POJ3267、POJ1836、POJ1260、POJ2533 二、图算法 * 度限制最小生成树和第K最短路:POJ1639、POJ3216、POJ2446 * 最优比率生成树:POJ2728 * 最小树形...
* 哈夫曼树:poj3253 * 堆 * Trie树:静态建树、动态建树 + poj2513 四、简单搜索 * 深度优先搜索:poj2488, poj3083, poj3009, poj1321, poj2251 * 广度优先搜索:poj3278, poj1426, poj3126, poj3087, poj3414 ...
10. 哈夫曼树(poj3253) 二、图算法 1. 度限制最小生成树和第 K 最短路(poj1639, poj3216, poj2446) 2. 最优比率生成树(poj2728) 3. 最小树形图(poj3164) 4. 次小生成树 5. 无向图、有向图的最小环 三、...
(5) 哈夫曼树:poj3253 (6) 堆 (7) trie树:poj2513 四、简单搜索 本部分涵盖了简单搜索,包括深度优先搜索、广度优先搜索和简单搜索技巧和剪枝。 (1) 深度优先搜索:poj2488, poj3083, poj3009, poj1321, poj...
5. 哈夫曼树:用于压缩编码,如poj3253。 6. 堆:优先队列实现,如poj1459。 7. Trie树:用于高效字符串查询,如poj2513。 四、简单搜索 1. 深度优先搜索(DFS):如poj2488、poj3083等。 2. 广度优先搜索(BFS):...