自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 找零问题

/*钱币找零问题这个问题在我们的日常生活中就更加普遍了。假设1元、2元、5元、10元、20元、50元、100元的纸币分别有c0, c1, c2, c3, c4, c5, c6张。现在要用这些钱来支付K元,至少要用多少张纸币?用贪心算法的思想,很显然,每一步尽可能用面值大的纸币即可。在日常生活中我们自然而然也是这么做的。在程序中已经事先将Value按照从小到大的顺序排好。*/原始代码

2017-07-16 19:21:28 550

原创 小船过河问题

/*小船过河问题POJ1700是一道经典的贪心算法例题。题目大意是只有一艘船,能乘2人,船的运行速度为2人中较慢一人的速度,过去后还需一个人把船划回来,问把n个人运到对岸,最少需要多久。先将所有人过河所需的时间按照升序排序,我们考虑把单独过河所需要时间最多的两个旅行者送到对岸去,有两种方式:1.最快的和次快的过河,然后最快的将船划回来;次慢的和最慢的过河,然后次快的将船划回来,所需时

2017-07-16 19:12:43 2976 1

原创 多机调度

n个作业组成的作业集,可由m台相同机器加工处理。要求给出一种作业调度方案,使所给的n个作业在尽可能短的时间内由m台机器加工处理完成。作业不能拆分成更小的子作业;每个作业均可在任何一台机器上加工处理。这个问题是NP完全问题,还没有有效的解法(求最优解),但是可以用贪心选择策略设计出较好的近似算法(求次优解)。当nm时,首先将n个作业从大到小排序,然后依此顺序将作业分配给空闲的处理

2017-07-16 19:07:01 909

原创 区域覆盖问题

POJ1328是一道经典的贪心算法例题。题目大意是假设海岸线是一条无限延伸的直线。陆地在海岸线的一侧,而海洋在另一侧。每一个小的岛屿是海洋上的一个点。雷达坐落于海岸线上,只能覆盖d距离,所以如果小岛能够被覆盖到的话,它们之间的距离最多为d。题目要求计算出能够覆盖给出的所有岛屿的最少雷达数目。对于每个小岛,我们可以计算出一个雷达所在位置的区间。问题转化为如何用尽可能少的点覆盖这些区间。先将所

2017-07-16 17:43:43 4842

转载 qsort函数、sort函数

qsort函数、sort函数 (精心整理篇)先说明一下qsort和sort,只能对连续内存的数据进行排序,像链表这样的结构是无法排序的。首先说一下, qsortqsort(基本快速排序的方法,每次把数组分成两部分和中间的一个划分值,而对于有多个重复值的数组来说,基本快速排序的效率较低,且不稳定)。集成在C语言库函数里面的的qsort函数,使用 三 路划分的方法解决排序这个问题。所谓

2017-07-16 16:23:37 261

转载 new 与molloc

new和malloc的区别1. malloc()函数1.1 malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL。当内存不再使用时,应

2017-06-27 15:39:46 472

原创 算法竞赛入门-八皇后问题

在棋盘上放置8 个皇后,使得它们互不攻击, 此时每个皇后的攻击范围为同行同列和对角线,要求找出所有解【分析】思路一:把问题转化为“从64 个格子中选一个子集”,使得“子集中恰好有8 个格子,且任意两个选出的格子都不在同一行、同一列或同一个对角线上” 。这是子集枚举问题,不是一个好的模型。思路二: 把问题转化为“从64 个格子中选8 个格子”,这是组合生成问题。比思路一好,但

2017-04-20 22:40:21 1094

原创 算法竞赛-走迷宫

一个网格迷宫由n行m列的单元格组成,每个单元格要么是空地(用1表示)要么是障碍物(用0表示)。任务是找一条从起点到终点的最短移动序列,其中UDLR代表上下左右移动到相邻单元格。任何时候都不能在障碍物格中,也不能走到迷宫之外。起点和终点保证是空地n,m图的bfs与树的bfs一样,但需要避免重复访问一个节点。下面代码用标记vis[x][y]记录格子(x,y)是否走过,和df

2017-04-16 22:27:48 618

原创 字母重排

输入一个字典(用******结尾),然后输入若干单词。每输入一个单词w,都需要在字典中找出所有可以用w的字母重拍后得到的单词,并按照字典序从小到大的顺序在一行中输出(如果不存在,输出:( 哭脸)。输入单词之间用空格或空行隔开,且所有输入单词都由不超过6个小写字母组成。注意字典中的单词不一定按照字典顺序排列。样例输入:trap given score refund only

2017-04-15 21:03:24 400

原创 6174问题

假设有一个各位数字互不相同的四位数,吧所有的数字从大到小排序后得到a。从小到大排列后得到b,然后用a-b来替换原来这个数,并继续操作。例如,从1234出发,依次得到4321-1234=3087、8730-378=8352.8532-2358=6174.有趣的是,7641-1467=6174,又回到了它自己.输入一个n位数,输出操作序列,知道出现循环(即新得到的数曾经得到过)。输入保

2017-04-15 20:02:03 338

原创 阶乘的精确值

输入不超过1000的正整数n,输出阶乘值。。样例输入:30样例输出:265252859812191058636308480000000#includeconst int maxn = 3000;//最大maxn位数int f[maxn];int main(){ int n; scanf("%d", &n); //cin >> n; memset(f, 0, sizeof

2017-04-15 17:34:48 385

原创 四阶龙格-库塔法求解常微分方程的初值问题

算法原理和程序框图龙格—库塔法是一种求其准确解y(x)在一系列点xi处y(xi)的近似值yi的方法,yi称为数值解。经典的四阶龙格库塔法方程如下:y'=f(t,y),y(t0)=y0输出按如下求解yn+1=yn+h(k1+2k2+3k3+4k4)/6其中                       k1=f(tn,yn)k2=f(tn+h/2,yn+hk1/2)k3=f(tn+h/

2017-04-09 20:25:09 17657 1

原创 龙贝格积分

算法原理和程序框图龙贝格积分法是在复化梯形求积公式、复化辛普森求积公式和复化科茨求积公式关系的基础上,构造出的一种精度更高的数值积分方法。龙贝格积分为:                                   (1)其截断误差为,已具有很高精度。龙贝格积分法是将区间[a, b]逐次分半进行计算。计算顺序为:计算T1,逐次计算T2k+1逐次计算S2k,C2k和R2k直到满足精

2017-04-09 20:21:26 6919

原创 三次样条差值

1计算原理和程序流程图设在区间[a, b]上给定n+1个节点xi(a≤x0<x1xn≤b),在节点xi处的函数值为yi=f(xi) (i= 0,1,…,n)。若函数S(x)满足以下三个条件:(1) 在每个子区间[xi-1, xi] (i= 0,1,…,n)上,S(x)是三次多项式;(2) S(xi) = yi(i=0,1,…,n);(3) 在区间[a, b]上,S(x)的二

2017-04-09 20:17:09 5033 1

原创 共轭梯度法求解线性方程组

1.1算法原理及程序框图当线性方程组Ax= b的系数矩阵A是对称正定矩阵时,可以采用共轭梯度法对该方程组进行求解,可以证明,式(1)所示的n元二次函数                                       (1)       取得极小值点x*是方程Ax= b的解。共轭梯度法是把求解线性方程组的问题转化为求解一个与之等价的二次函数极小值的问题。从任意给定的初始点出发

2017-04-09 20:09:14 16113

原创 全排列问题

#include#include#include#includeusing namespace std;//全排列就是从第一个数字起 每个数分别与它后面的数字交换//用递归的方法//用C++写一个函数, 如 Foo(const char *str), 打印出 str 的全排列, //如 abc 的全排列: abc, acb, bca, dac, cab, cba。。/*带重复

2017-04-09 20:04:23 319

原创 算法竞赛-黑白图像

输入一个n*n的黑白图像(1表示黑色,0表示白色),任务是统计其中八连块的个数。如果两个黑格子有公共边或者公共顶点,就说他们属于同一个八连块。样例输入:6100100001010000000110000111000010100样例输出:3遍历每一块黑色格子,以这块黑色格子为中心向四周搜索,如果被访问过则停止搜索

2017-04-09 19:51:23 701

空空如也

空空如也

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

TA关注的人

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