算法
溪午不闻钟_
这个作者很懒,什么都没留下…
展开
-
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 · 827 阅读 · 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 · 606 阅读 · 0 评论 -
C&C++实现算法习题第三部分—贪心算法(一)
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。一. 活动安排问题问题描述设有n个活动的集合E= {1,2,…,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si<...原创 2020-02-17 10:02:53 · 498 阅读 · 0 评论 -
C&C++实现算法习题第二部分—动态规划
动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划法求解的问题,经分解得到的子问题往往不是互相独立的。若用分治法来解这类问题,则分解得到的子问题数目太多,以至于最后解决原问题需要耗费指数时间。然而,不同子问题的数目常常只有多项式量级。在用分治法求解时,有些子问题被重复计算了许多次。如果我们能够...原创 2020-02-15 11:21:15 · 561 阅读 · 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 · 387 阅读 · 0 评论 -
C&C++实现算法习题第一部分—递归分治算法(一)
一. 整数划分问题整数划分问题是指把一个正整数n写成多个大于等于1且小于等于其本身的整数的和,则其中各加数所构成的集合为n的一个划分。这是一个典型的递归算法。含最大化分数的整数划分问题是指为被化分数设置最大化分数,例如当最大化分数为4时,进行整数划分时就从4往下逐次划分代码#include<iostream>using namespace std;#define maxn ...原创 2020-02-14 12:12:48 · 676 阅读 · 0 评论