01 2020 档案

摘要:一、前言 刚开始学习搜索算法的时候,它给我的感觉就是加了条件的枚举,特别暴力,将所有的情况列出来找答案。时间效率低到让人难以忍受。用深搜做题更是容易被卡时间,本期我们来学习一下剪枝技巧,对程序优化的一种基本方法,可以极大的提高时间效率。 二、正文 1、什么是剪枝? 简单的来讲就是通过某种判断,避免一 阅读全文
posted @ 2020-01-31 22:18 code花生 阅读(687) 评论(0) 推荐(1)
摘要:一、适用场景 三分算法适用于求解凸性函数的极值问题,二次函数就是一个典型的单峰函数。 二分利用的是函数的单调性,三分算法利用的是函数的单峰性。 在区间[l,r],令m1 = l + (r-l)/3, m2 = r - (r-l)/3,分别位于1/3、2/3处,接着计算这两个点的函数值, 如果f(m1 阅读全文
posted @ 2020-01-28 21:07 code花生 阅读(402) 评论(0) 推荐(0)
摘要:一、适用范围 二分算法的基本用途是在单调序列或单调函数中做查找操作,因此问题的答案具有单调性的时候,我们就可以通过二分把求解转换为判定。 二分算法的思想是不断将待求解区间平均分成两份,根据求解区间中点的情况来确定目标元素所在的区间,这样就把解的范围缩小一半。 二、代码实现 1、整数二分: int e 阅读全文
posted @ 2020-01-28 20:34 code花生 阅读(589) 评论(0) 推荐(0)
摘要:1、带期限和罚款的单位时间任务调度 智力大冲浪 题目描述 小伟报名参加中央电视台的智力大冲浪节目。本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者 元。先不要太高兴!因为这些钱还不一定都是你的?!接下来主持人宣布了比赛规则: 首先,比赛时间分为 个时段,它又给出了很多小游戏,每 阅读全文
posted @ 2020-01-23 22:51 code花生 阅读(1012) 评论(0) 推荐(1)
摘要:1、流水作业调度问题(解题思路在下边) 加工生产调度 题目描述: 某工厂收到了 个产品的订单,这 个产品分别在 A、B 两个车间加工,并且必须先在 A 车间加工后才可以到 B 车间加工。 某个产品 在 A,B 两车间加工的时间分别为 。怎样安排这 个产品的加工顺序,才能使总的加工时间最短。 这里所说 阅读全文
posted @ 2020-01-23 22:19 code花生 阅读(999) 评论(0) 推荐(0)
摘要:1、区间覆盖问题(喷水装置) 喷水装置这道题,将每个圆形区域,抽象成一个覆盖在草地上的矩形区域,选择一个最少的数量,使得喷洒面积刚好能够覆盖草地。(如红线部分) 将所有区域按照左端点从大到小排序,依次处理每个区间,每次选择下一个区间的时候,要求选择能够覆盖当前区间的右端,并且保证下一个区间的右端是最 阅读全文
posted @ 2020-01-20 22:30 code花生 阅读(318) 评论(0) 推荐(0)
摘要:一开始以为贪心算法很简单,“不就是从问题初始状态出发,依次选择最优选项吗”,后来发现真不简单。 贪心算法五个经典应用: 1、选择不相交区间问题(例题:活动安排) 题意: 给定n个开区间(a,b),选择尽量多个区间,使得这些区间两两没有公共点。 做法: 将右端点从小到大排序,然后依次考虑每一个区间,如 阅读全文
posted @ 2020-01-20 21:11 code花生 阅读(841) 评论(0) 推荐(0)