自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 限界函数

问题描述一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。如:阵列4 100234500067103456050020456006710000000089有4个细胞。按照上下左右的顺序进行检查,并将符合条件的依次入队算法分析⑴从文件中读入m*n矩阵阵列,将其转换为boolean矩阵存入bz数组...

2019-10-31 22:01:43 2921

原创 装载问题

问题描述给定n个集装箱要装上一艘载重量为c的轮船,其中集装箱i的重量为wi。集装箱装载问题要求确定在不超过轮船载重量的前提下,将尽可能多的集装箱装上轮船(贪心算法中的装载问题讨论的是装载件数;本题讨论的是最大装载重量。)问题分析由于集装箱问题是从n个集装箱里选择一部分集装箱,假设解向量为X(x1, x2, …, xn),其中xi∈{0, 1}, xi =1表示集装箱i装上轮船, xi =0表...

2019-10-31 21:17:41 256

原创 贪心算法总结

贪心算法总是作出在当前看来最好的选择。贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。如单源最短路经问题,最小生成树问题等。在一些情况下,即使贪心算法不能得到整体最优解,其最终结果却是最优解的很好近似。贪心算法和动态规划算法的比较:这两种算...

2019-10-31 20:35:39 223

原创 汽车加油问题

分析用贪心算法计算加油次数最少就是,计算是否能到下一目的地,不能则加油。(加一次油跑最远的距离)实现#include <iostream>using namespace std;int main(){ int n,k,i; int *station; cout<<"请输入加满一箱油的最大行驶路程和加油站的个数:"; cin>>...

2019-10-29 22:30:13 281

原创 背包问题

分析三种方法取物品(1)当作0-1背包问题,用动态规划算法,获得最优值220;(2)当作0-1背包问题,用贪心算法,按性价比从高到底顺序选取物品,获得最优值160。由于物品不可分割,剩下的空间白白浪费。(3)当作背包问题,用贪心算法,按性价比从高到底的顺序选取物品,获得最优值240。由于物品可以分割,剩下的空间装入物品3的一部分,而获得了更好的性能。实现数据结构:struct bag...

2019-10-29 21:11:08 50

原创 取余运算

问题描述输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整形数。分析:参考以下公式将数据进行分解如:P=2 * P/2 + P%2,如19=2 * 19/2 + 19%2=2*9+1P 为偶数b^p % k=b^( 2 * P/2 )%k=(b^( 2 * P/2 ))%k=(b^ P/2 * b^ P/2)%k=(b^( 2 * P/2 ))%k=((b^...

2019-10-28 22:37:33 219

原创 油管问题

问题描述如果给定n口油井的位置,即它们的x坐标(东西向)和y坐标(南北向),应如何确定主管道的最优位置,即使各油井到主管道之间的输油管道长度总和最小的位置?给定n口油井的位置,编程计算各油井到主管道之间的输油管道最小长度总和。输入第1行是一个整数n,表示油井的数量(1≤n≤10 000)。接下来n行是油井的位置,每行两个整数x和y(﹣10 000≤x,y≤10 000)。输出各油井...

2019-10-28 22:12:00 739

原创 十进制转化为二进制

题目编写一个递归函数,将10进制转化成radix进制(输出二进制形式)步骤根据除基数,取余数,结果倒排序的规则进行处理,直到商为0结束void change(int x, int radix)x, 十进制数,radix, 基数代码#include <iostream>using namespace std;void change(int a, int radix){...

2019-10-09 00:08:47 146

原创 猴子摘桃

题目猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少个桃子?思路前一天的桃子数量等于后一天的数量加1然后乘以2实现代码#include <iostream>using namespace std...

2019-10-08 22:35:29 92

原创 C++ 寻找中位数 (快速排序版)

题目在N(1 <= N <= 100001 且N为奇数)个数中,找到中位数。描述在N(1 <= N <= 100001 且N为奇数)个数中,找到中位数。输入第1行:N第2行:N个整数输出输入的第2行N个整数的中位数。实现代码#include<iostream>using namespace std;void q_sort(int *a, ...

2019-10-08 21:31:47 1291

原创 半数集问题

题目要求找出具有下列性质的数的个数(包含输入的自然数n):先输入一个自然数n(n<=500),然后对此自然数按照如下方法进行处理:1.不作任何处理;2.在它的左边加上一个自然数,但该自然数不能超过原数字的一半;3. 加上数后,继续按此规则进行处理,直到不能再加自然数为止.实现代码#include<iostream>using namespace std;int ...

2019-10-08 20:53:34 72

原创 递推法 求菲波那契数列的前 n 项

题目Fibonacci 数列:0,1,1,2,3,5,8,13,21,34,……,求菲波那契数列的前 n 项算法分析找规律得出递推式:fn = fn-1 + fn-2 ( n >= 2 )边界条件:f0 = 0; f1 = 1代码:输入n输出:前n项菲波那切数列代码#include <iostream>#include <algorithm>...

2019-10-08 20:32:13 194

原创 汉诺塔--输出移动路径

问题已知有三根柱子,在一根柱子上从下往上按照大小顺序摞着n片圆盘。把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。解决步骤1.将初始汉诺塔前n-1个圆盘看做一个整体,假设可以整体移动到第二根柱子,输出第二根柱子名称。2.将第一根柱子剩下的一个圆盘移动到第三根柱子,输出这根柱子名称。3.再将第二根柱子的n-1个圆盘看做...

2019-10-08 19:16:30 190

原创 算法设计与分析 数字三角形问题

问题描述确定存储方式使用两个二维数组,一个存放原始数据,一个存放计算过的路径数字和因为存放的是金字塔形数据,所以这种方式牺牲了一些空间确定分析方法从上到下迭代,亦为顺推从下到上迭代,亦为反推附图片顺推法#include <iostream>/* 顺推法*/using namespace std;const int MAX_SIZE = 100...

2019-10-08 19:09:32 438

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除