高中的时候好像什么都没学会的样子,提到搜索脑子里云里雾里一般。还能怎么着,练呗。 找到了一道dfs基础题,http://poj.org/problem?id=1190 果然是完全没有思路,参照大佬的题解,弄懂了大佬的思路。 这道题的主要考点应该是第三处剪枝(大佬是这么说的),但是与我而言,我连最基础 ...
分类:
编程语言 时间:
2018-07-26 18:21:20
阅读次数:
185
1 #include 2 #include 3 using namespace std; 4 5 int volumn[25],minArea[25];//volumn[i]为第i层到第1层蛋糕所用最小体积 6 int ans,n,m; //minArea[i]为第i层到第1层蛋糕所用【最小侧面积】... ...
分类:
其他好文 时间:
2018-07-26 14:59:41
阅读次数:
185
Description: 就是给你一个数,你可以把它自乘,也可以把他乘或除以任意一个造出过的数,问你最多经过多少次操作能变换成目标数 思路:这题真的不怎么会啊。n = 20000,每一层都有很多个扩展状态,裸宽搜会被T,启发式函数又设计不出来…… 看了一个Vjudge上的代码才知道这题怎么写。 就是 ...
分类:
其他好文 时间:
2018-07-23 00:56:33
阅读次数:
310
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1082 [算法] 首先二分“最多得到的符合条件的木板数”,检验时可以使用DFS,但是,我们需要进行一下两点剪枝 1. 如果当前木板的长度等于后一块木板的长度,那么下一次搜索只需从这一次进 ...
分类:
其他好文 时间:
2018-07-21 12:04:00
阅读次数:
124
题目大意:在迷宫里从a出发走到r,每走一格时间+1,但是遇到x时间还要额外+1,求最短的时间。 题解:直接dfs把每一个格子都走一遍,设置一个时间参数,走一格就+1,还要注意回溯和剪枝。 很多新手都会疑惑,回溯有什么用呢?回溯的作用就是在分叉口时你选择了这一条路,往这条路一直走不可回头(用访问数组标 ...
分类:
其他好文 时间:
2018-07-20 15:21:56
阅读次数:
165
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1010 Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
分类:
其他好文 时间:
2018-07-15 13:01:55
阅读次数:
190
SOL: 我们参考最近点对的做法,分治加当前最优解剪枝。 ...
分类:
其他好文 时间:
2018-07-12 14:34:49
阅读次数:
119
poj2248 真是个新套路。还有套路剪枝...大到小和判重 #include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> #include<algorithm> #include<cmath> #include<bi ...
分类:
其他好文 时间:
2018-07-05 21:39:17
阅读次数:
145
这一章真是心态崩,剪枝太玄学啦,特别是那个搜索顺序我靠真的。。。 poj1011 枚举答案,搜索记录当前到第几根木棒。 剪枝:1、从大到小排序 2、排除等效,这个感觉还行,就是木棒按大小顺序进去,去除顺序不同的相同的情况,相同的木棒也是不用管的。 好的前面这些都可以想,关键是第三个,拼接第一个失败就 ...
分类:
其他好文 时间:
2018-07-05 21:30:10
阅读次数:
149
回溯法 全排列系列 46题: 给定一个 没有重复数字 的序列,返回其所有可能的全排列。 示例: 代码: 子集系列 78题: 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集。 说明:解集不能包含重复的子集。 示例: 代码: 解释: 在迭代所有数字时,对于每个新数字,我们可以选择它, ...
分类:
其他好文 时间:
2018-07-04 17:29:54
阅读次数:
252