ACM基本算法梳理
文章平均质量分 70
基本习题
razor521
杏肝学长,在线解答~
展开
-
贪心算法解决找零钱问题
4.1 找零问题 问题描述: 设有50、20、10、5、1、0.5、0.1等面额的零钱,顾 客购物花了n元,在支付(n / 100 + 1) * 100元后,收银员应如何找 零,才能使找回的钱数最少。 输入: n,表示顾客所花的钱数,最多包含一位小数。 输出: 找回的零钱数。 样例输入: 67.5 243 样例输出: 5 4原创 2017-10-10 17:18:58 · 7297 阅读 · 4 评论 -
贪心算法解决活动安排问题
4.2 活动安排问题 设有n个活动的集合E={1, 2, …, n},其中每个活动都要 求使用同一资源,如演讲会场等,而在同一时间内只有一个 活动能使用这一资源。 每个活动i都有一个要求使用该资源的起始时间si和一个 结束时间fi,且si<fi。如果选择了活动i,则它在半开时间区 间[si, fi)内占用资源。若区间[si, fi)与区间[sj, fj)不相交,则 称活动i与活动j是相容的原创 2017-10-10 20:44:13 · 13736 阅读 · 2 评论 -
运用并查集与最小堆实现Kruskal算法
前言 Kruskal是在一个图(图论)中生成最小生成树的算法之一。(另外还有Prim算法,之后会涉及到)这就牵扯到了最小生成树的概念,其实就是总权值最小的一个连通无回路的子图。(结合下文的示意图不难理解)这里的代码并没有用图的存储结构(如:矩阵,邻接链表等)来处理和运用这个算法,而是最简单的三元组输入,这样会使得这个过程简化很多,至于图的存储方式,在之后总结图数据结构的时候会具体讨论。Kruska原创 2017-12-01 22:24:31 · 4272 阅读 · 0 评论