买瓜专题

蓝桥杯2023年第十四届省赛真题-买瓜|DFS+剪枝

题目链接: 0买瓜 - 蓝桥云课 (lanqiao.cn) 蓝桥杯2023年第十四届省赛真题-买瓜 - C语言网 (dotcpp.com) (蓝桥官网的数据要求会高一些) 说明: 这道题可以分析出:对一个瓜有三种选择: 不拿,切的次数不变,买瓜的重量不变拿一半,切的次数加一,加这个瓜一半的重量拿一整个瓜,切的次数不变,加这个瓜的重量 所以,DFS程序分支数确定为三个,传递的参数确定为

DFS进阶——买瓜

买瓜 题目分析 使用dfs依次考虑每一个瓜,我是切开还是不切还是直接不买。这里u表示我当前考虑的瓜,res表示当前获得瓜的总重量,count表示切开瓜的次数。 dfs(u+1,res,count);//不买dfs(u+1,res+a[u]/2,count+1);//切dfs(u+1,res+a[u],count);//不切 考虑终点状态就是前n个瓜都遍历完了或者res恰好等于瓜的总重

蓝桥杯2023年省A(一波三折的)【买瓜】折半搜索+剪枝+排序

题目:洛谷 P9234 [蓝桥杯 2023 省 A] 买瓜 折半搜索 一开始觉得像dp,试着写了,显然过不了,但我实在觉得搜索也过不了啊,去看题解,发现使用了折半搜索(每天都觉得啥都不会捏 折半搜索就是先搜一半,记录下答案,再搜一半,最后把答案整合在一起 比如这题,每个数有三种选法,复杂度3n,折半后就是2*3n/2,大大降低了 但是这个复杂度还是过不了,后面就是不停优化剪枝 剪枝