![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
溪午不闻钟_
这个作者很懒,什么都没留下…
展开
-
C&C++实现算法习题第三部分—贪心算法(三)
九. 大币找零钱问题 问题描述 设有64种不同面值的硬币,各硬币的面值分别为25元、10元、5元、1元。现要用这些面值的硬币来购物和找钱。商店里各面值的硬币有足够多。在一次购物中希望使用最少硬币个数。 实现代码 #include<iostream> #include <math.h> using namespace std; void greedy(int num){ ...原创 2020-02-19 09:50:56 · 882 阅读 · 0 评论 -
C&C++实现算法习题第三部分—贪心算法(二)
五. 程序存储问题 问题描述 假设有n个程序{1,2,…,n}要存放在长度为L的磁带上。程序i存放在磁带上的长度是li,1≤i≤n。程序存储问题要求确定这n个程序在磁带上的一个存储方案,使得能够在磁带上存储尽可能多的程序。 实现代码 #include <iostream> using namespace std; //冒泡排序 void Sort(int *lenght, int...原创 2020-02-18 11:38:37 · 627 阅读 · 0 评论 -
C&C++实现算法习题第三部分—贪心算法(一)
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 一. 活动安排问题 问题描述 设有n个活动的集合E= {1,2,…,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si<...原创 2020-02-17 10:02:53 · 513 阅读 · 0 评论 -
C&C++实现算法习题第二部分—动态规划
动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划法求解的问题,经分解得到的子问题往往不是互相独立的。若用分治法来解这类问题,则分解得到的子问题数目太多,以至于最后解决原问题需要耗费指数时间。然而,不同子问题的数目常常只有多项式量级。在用分治法求解时,有些子问题被重复计算了许多次。如果我们能够...原创 2020-02-15 11:21:15 · 566 阅读 · 0 评论 -
C&C++实现算法习题第一部分—递归分治算法(二)
六. 循环赛日程表问题 问题描述 设有n= 2^k个运动员要进行循环赛。现需要一个比赛日程表,要求: (1)每个选手必须与其他n-1个选手各赛-次; (2)每个选手- -天只能赛- -次; (3)循环赛共进行n-1天。 按此要求可将比赛日程表设计成有n行和n- 1列的表.在表中第i行和第j列处填入第i个选手在第j天...原创 2020-02-14 13:47:51 · 432 阅读 · 0 评论 -
C&C++实现算法习题第一部分—递归分治算法(一)
一. 整数划分问题 整数划分问题是指把一个正整数n写成多个大于等于1且小于等于其本身的整数的和,则其中各加数所构成的集合为n的一个划分。这是一个典型的递归算法。 含最大化分数的整数划分问题是指为被化分数设置最大化分数,例如当最大化分数为4时,进行整数划分时就从4往下逐次划分 代码 #include<iostream> using namespace std; #define maxn ...原创 2020-02-14 12:12:48 · 704 阅读 · 0 评论