现需要申请一些场地举办一批活动,每个活动有开始时间和结束时间。在同一个场地,如果一个活动结束之前,另一个活动开始,即两个活动冲突。若活动A从1时间开始,5时间结束,活动B从5时间开始,8时间结束,则活动A和B不冲突。现要计算n个活动需要的最少场地数。
解该问题的基本思路如下(假设需要场地数为m,活动数为n,场地集合为P1,P2,...,Pm),初始条件Pi均无活动安排:
(1)采用快速排序算法对n个活动的开始时间从小到大排序,得到活动a1,a2,...,an。对每个活动ai,i从1到n,重复步骤(2),(3),(4);
(2)从P1开始,判断ai与P1的最后一个活动是否冲突,若冲突,考虑下一个场地P2,...;
(3)一旦发现ai与某个Pj的最后一个活动不冲突,则将ai安排到Pj,考虑下一个活动;
(4)若ai与所有已安排活动的Pj的最后一个活动均冲突,则将ai安排到一个新的场地,考虑下一个活动;
(5)将n减去没有安排活动的场地数即可得到所用的最少场地数。
A.分治
B.动态规划
C.贪心
D.回溯
A.S的公钥
B.S的私钥
C.T的公钥
D.T的私钥
A.发表权
B.发行权
C.署名权
D.展览权
A.Lisp
B.Prolog
C.Python
D.Java/C++
A.版本控制
B.配置管理
C.文档分析
D.逆向工程
A.体系结构设计
B.数据库设计
C.模块内算法设计
D.逻辑数据结构设计
对下图所示的程序流程图进行判断覆盖测试,则至少需要()个测试用例。
A.2
B.3
C.4
D.5
如下所示的图为UML的()。
A.类图
B.组件图
C.通信图
D.部署图
A.动态语义分析
B.中间代码优化
C.静态语义分析
D.目标代码优化
A.交换机
B.中继器
C.路由器
D.网桥