首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在一条笔直公路的一边有许多房子,现要安装消火栓,每个消火栓的覆盖范围远大于房子的面积,如下图所示。现求解能覆盖所有房子的最少消火栓数和安装方案(问题求解过程中,可将房子和消火栓均视为直线上的点)。该问题求解算法的基本思路为:从左端的第一栋房子开始,在其右侧
在一条笔直公路的一边有许多房子,现要安装消火栓,每个消火栓的覆盖范围远大于房子的面积,如下图所示。现求解能覆盖所有房子的最少消火栓数和安装方案(问题求解过程中,可将房子和消火栓均视为直线上的点)。该问题求解算法的基本思路为:从左端的第一栋房子开始,在其右侧
admin
2019-10-08
32
问题
在一条笔直公路的一边有许多房子,现要安装消火栓,每个消火栓的覆盖范围远大于房子的面积,如下图所示。现求解能覆盖所有房子的最少消火栓数和安装方案(问题求解过程中,可将房子和消火栓均视为直线上的点)。该问题求解算法的基本思路为:从左端的第一栋房子开始,在其右侧m米处安装一个消火栓,去掉被该消火栓覆盖的所有房子。在剩余的房子中重复上述操作,直到所有房子被覆盖。算法采用的设计策略为________(1);对应的时间复杂度为________(2)。
假设公路起点A的坐标为0,消火栓的覆盖范围(半径)为20m,10栋房子的坐标为(10,20,30,35,60,80,160,210,260,300),单位为m。根据上述算法,共需要安装________(3)个消火栓。以下关于该求解算法的叙述中,正确的是________(4)。
(4)
选项
A、肯定可以求得问题的一个最优解
B、可以求得问题的所有最优解
C、对有些实例,可能得不到最优解
D、只能得到近似最优解
答案
A
解析
对于第一个空,本题使用的是分治法。
1)分治法特征:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决;否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。
2)动态规划法:在求解问题中,对于每一步决策,列出各种可能的局部解,再依据某种判定条件,舍弃那些肯定不能得到最优解的局部解,在每一步都经过筛选,以每一步都是最优解来保证全局是最优解。本题情景没有列出所有的可能解进行筛选,因此,本题不属于动态规划法。
3)回溯法:回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当搜索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择。这种走不通就退回再走的技术就是回溯法。本题情景没有探索和回退的过程,因此,本题不属于回溯法。
4)贪心法:总是做出在当前来说是最好的选择,而并不从整体上加以考虑,它所做的每步选择只是当前步骤的局部最优选择,但从整体来说不一定是最优的选择。由于它不必为了寻找最优解而穷尽所有可能解,因此其耗费时间少,一般可以快速得到满意的解,但得不到最优解。在本题情景中,没有给出每步选择的局部最优判断条件,因此,本题不属于贪心法。
舍弃已被覆盖的房子,可以将问题的规模逐步缩小,形成规模较小的子问题,而这些问题的求解与原问题的求解过程相同,因此本题属于分治法的算法思想。
由于本题的算法过程,是依次与各个房子进行判断,当所有房子都被比较之后,则问题结束,因此时间复杂度与房子的个数相关,本问题的时间复杂度应该趋于现象,为O(n)。
对于第三个空,关于对应序列(10,20,30,35,60,80,160,2lO,260,300):
第一轮放置:在第一座房子x=10的右侧20m处安装一个消火栓,可以覆盖10,20,30,35这4栋房子;
第二轮放置:去掉前4栋房子,在第5栋房子x=60的右侧20米处安装一个消火栓,可以覆盖60、80这2栋房子;
第三轮放置:去掉前面已覆盖的房子,在第7栋房子x=160的右侧20m处安装一个消火栓,只可以覆盖160这一栋房子:
第四轮放置:去掉前面己覆盖的房子,在第8栋房子x=210的右侧20m处安装一个消火栓,可以覆盖210这一栋房子
第五轮放置:去掉前面己覆盖的房子,在第9栋房子x=260的右侧20米处安装一个消火栓,可以覆盖260、300这2栋房子;
房子全部覆盖完毕,因此共需安装5个消火栓。
对于第四个空,对于得到一个最优解是动态规划的特点,可以得到问题所有的最优解,是回溯法的特征,可以排除A、B选项。对于C、D选项,C的语法更为合理一些。
转载请注明原文地址:https://kaotiyun.com/show/tGCZ777K
本试题收录于:
软件设计师上午基础知识考试题库软考中级分类
0
软件设计师上午基础知识考试
软考中级
相关试题推荐
阅读以下说明和数据流图,回答问题1~3问题。[说明]干部信息管理系统(CMIS)是用于对干部信息进行管理的特定系统。利用该系统,干部科可以对本单位干部信息进行管理,根据不同命令对信息进行增、删、改、内部调动,打印人事表格,进行统计、检索。干
阅读以下说明和C++代码,填入(n)处。[说明]以下C++代码使用虚函数实现了同一基类shape派生出来的Classrectangle、Classtriangle、Classcircle实现了计算矩形、圆形面积的计算。仔细阅读以下代
阅读以下说明和VisualBasic码,将应填入(n)处的字名写在对应栏内[说明]设计一个计时程序。该程序用户界面由一个文本框(text1),两个按钮——命令按钮1(Command1)按钮、命令按钮(Command2)组成。程序运行后,用
阅读以下说明和c++码,将应填入(n)处的字名写在对应栏内。[说明]从键盘输入一个字符ch,输出该字符在文本文件input.txt的每一行中出现的次数。(必须调用函数鳋统计ch的出现次数,函数ff(str,ch)的功能是统计并返回字符ch在字符串
阅读以下说明,回答问题,将解答填入对应的解答栏内。[说明]将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。main(){intn,i;printf("\npleaseinputa
阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。【说明】应用Prim算法求解连通网络的最小生成树问题。请阅读程序后填空。constintMaxInt=INTMAX;//INTMAX的值在<limits.h>
阅读以下说明,回答问题1至问题3,将解答写在对应栏内。【说明】下面是某医院信息管理系统中需要的信息。科室:科名、科地址、科电话、医生姓名。病房:病房号、床位号、所属科室名。医生:姓名、职称、所属科室名、年龄、工作证号
阅读以下说明和VisualBasic码,将应填入(n)处的字名写在的对应栏内[说明]这是一个用户名校验程序,如用户名正确,即输出欢迎字样,否则,弹出警告窗并直接退出程序。下面是实现上述功能的程序,请填空。“OptionExplicit”此语句的
图7-13是对该IC卡加油机应用系统的基本流路径和备选流路径的描述,请用试题描述中的相应字母(见表7-15和表7-16)将图中(1)~(6)空缺处的内容填写完整。场景中的每一个场景都需要确定测试用例,一般采用矩阵或决策表来确定和管理测试用例。表7-1
阅读以下函数说明和Java代码,将应填入(n)处的字句写在对应栏内。[说明]很多时候,希望某些类只有一个或有限的几个实例,典型解决方案是所谓单身(Singleton)模式。但在多线程情况下,Singleton模式有可能出现问题,需要进行
随机试题
“总结”在民国时期即被列为公文文种。
对于女性内生殖器的邻近器官描述错误的是
黑膏药基质的原料有()
计算机病毒具有()。
下列关于起爆正确的是()。
下列票据中,在丧失后可以挂失止付的有()。
泥瓦匠用消石灰粉刷墙,常在石灰中加入少量的粗食盐,这是利用粗食盐中含有易潮解的杂质,该杂质易与二氧化碳反应。这种易潮解的物质是()。
Combienco?tentceslégumes_____livre
Whattechniquedoestheprofessorusetoencouragestudentdiscussion?
Asawisemanoncesaid,weareallultimatelyalone.Butan【C1】______numberofEuropeansarechoosingtobesoataneverearli
最新回复
(
0
)