摘要:
乍一看,我想爆搜,但是时间复杂度O(2^n),凉凉。 所以我们考虑优化,用双向搜索解决。 将读入的数据降序排列,从中间一分两半,对前一半进行一次枚举,枚举可能的情况,用一个数组记录并去重。 再枚举后半段的情况,并对每一种情况在左半部分进行一次二分查找即可。时间复杂度为O(2n/2log22n/2)≈ 阅读全文
摘要:
确实是一道经典的深搜好题,(不过POJ不都是这样吗……)。 首先这道题爆搜就死定了,所以咱们考虑一些剪枝。 1.对所有的木棍按长度降序排序,先尝试较长的木棍,这样可以减少搜索树的分支。 2.定义一个变量,记录最近一次搜索失败的木棍的长度,若即将搜索的长度与之相等,则直接跳过。 3.如果在原始木棒“加 阅读全文