问题 单项选择题

给定一组长度为n的无序序列,将其存储在一维数组a[O..n-1]中。现采用如下方法找出其中的最大元素和最小元素:比较a[O]和a[n-1],若a[0]较大,则将二者的值进行交换;再比较a[1]和a[n-2],若a[1]较大,则交换二者的值;然后依次比较a[2]和a[n-3]、a[3]和a[n-4]、…,使得每一对元素中的较小者被交换到低下标端。重复上述方法,在数组的前n/2个元素中查找最小元素,在后n/2个元素查找最大元素,从而得到整个序列的最小元素和最大元素。上述方法采用的算法设计策略是()。

A.动态规划法

B.贪心法

C.分治法

D.回溯法

答案

参考答案:C

解析:

[分析]: 本题考查算法设计基础知识。

任何一个可以用计算机求解的问题所需的计算时间都与其规模有关。问题的规模越小,解题所需的计算时间往往也越少,从而也较容易处理。分治法的设计思想是:将一个难以直接解决的大问题分解成一些规模较小的相同问题,以便各个击破,分而治之。如果规模为n的问题可分解成k个子问题(1<k≤n),且这些子问题互相独立且与原问题相同。递归地求解这些问题,然后将各子问题的解合并得到原问题的解。 动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划法求解的问题,经分解得到的子问题往往不是独立的。若用分治法来解这类问题,则分解得到的子问题数目太多,以至于最后解决原问题需要耗费指数级时间。动态规划算法,通常可按以下几个步骤进行:找出最优解的性质,并刻画其结构特征;递归地定义最优值;以自底向上的方式计算出最优值;根据计算最优值时得到的信息,构造一个最优解。 回溯法有“通用的解题法”之称,用它可以系统地搜索一个问题的所有解或任一解。回溯法是一个既带有系统性又带有跳跃性的搜索算法。它在包含问题的所有解的解空间树中,按照深度优先的策略,从根结点出发搜索解空间树。 贪心法是一种不追求最优解,只希望得到较为满意解的方法。贪心法一般可以快速得到满意的解,因为它省去了为找最优解要穷尽所有可能而必须耗费的大量时间。贪心法常以当前情况为基础作最优选择,而不考虑各种可能的整体情况,所以贪心法不要回溯。

计算题
问答题

案例五 某建设项目,业主将其中一个单项工程通过工程量清单计价方式招标确定了中标单位,双方签订了施工合同,工期为6个月。每月分部分项工程项目和单价措施项目费用,见表5.1。 表5.1 分部分项工程项目和单价措施项目费用表

 总价措施项目费用为12万元(其中安全文明施工费用6.6万元);其他项目费用包括:暂列金额为10万元,业主拟分包的专业工程暂估价为28万元,总包服务费用按5%计算;管理费和利润以人材机费用之和为基数计取,计算费率为8%;规费和税金以分部分项工程项目费用、措施项目费用、其他项目费用之和为基数计取,计算费率为10%。 施工合同中有关工程款结算与支付的约定如下: 1.开工前,业主向承包商支付预付款,包括扣除暂列金额和安全文明施工费用后的签约合同价的20%以及安全文明施工费用的60%。预付款在合同期的后3个月从应付工程款中平均扣回; 2.开工后,安全文明施工费用的40%随工程进度款在第1个月支付,其余总价措施费用在开工后的前4个月随工程进度款平均支付; 3.工程进度款按月结算,业主按承包商应得工程进度款的90%支付; 4.其他项目费用按实际发生额与当月发生的其他工程款同期结算支付; 5.当分部分项工程工程量增加(或减少)幅度超过15%时,应调整相应的综合单价,调价系数为0.5(或1.1) 6.施工期间材料价格上涨幅度在超过基期价格5%及以内的费用由承包商承担,超过5%以上的部分由业主承担; 7.工程竣工结算时扣留3%的工程质量保证金,其余工程款一次性结清。 施工期间,经监理人核实及业主确认的有关事项如下: 1.第3个月发生合同外零星工作,现在签证费用4万元(含管理费和利润);某分项工程因设计变更增加工程量20%(原清单工程量400m2,综合单价180元/m2) ,增加相应单价措施费用1万元,对工期无影响; 2.第4个月业主的专业分包工程完成,实际费用22万元;另有某分项工程的某种材料价格比基期价格上涨12%(原清单中,该材料数量300m2,材料价格200元/m2)。

假设该单项工程实际总造价比签约合同价增加了30万元,在竣工结算时业主应支付承包商的工程结算款应为多少万元?(计算结果有小数的保留三位小数)