随笔分类 -  剪枝

摘要:"题目" 状压DP或者随机化贪心,DFS也能过,但需要掌握很多的搜索剪枝技巧。 本题的搜索剪枝技巧主要采用了减少重复的计算和最优化剪枝。 减少重复计算 由于原图被分为了两块,一块是已经被挖掘的点,一块是还未被挖掘的点。我们考虑每次枚举下一个要加上的点的时候,肯定要找到未被挖掘的点。为了枚举的时候快速 阅读全文
posted @ 2019-11-11 18:14 DAGGGGGGGGGGGG 阅读(163) 评论(0) 推荐(0) 编辑
摘要:"题目" 搜索+剪枝 对于每个操作都只需要模拟就可轻松得出每一步操作的代码。 这个题需要考虑回溯操作,由于搜索是在一棵搜索树中,因此我们可以记录每一个深度的回溯状态,仅仅用一个数组会出现状态转移失误的情况,所以需要用多个数组。然后考虑剪枝,如果交换不交换没有区别,则不需要交换,而且i向左交换等同于i 阅读全文
posted @ 2019-11-03 16:50 DAGGGGGGGGGGGG 阅读(202) 评论(0) 推荐(0) 编辑
摘要:"题目" 第一问: 用广搜类似用floodfill的方法。 第二问: 暴力枚举加剪枝,对于每个连通块,枚举跟这个连通块相连的其他与他颜色不同的连通块,然后向外扩展合并颜色与他们俩相同的连通块。扩展合并颜色的时候需要在以每个连通块为节点的图上广搜,每次都将不在当前双色连通块内连通块且颜色和当前双色 阅读全文
posted @ 2019-10-31 08:22 DAGGGGGGGGGGGG 阅读(178) 评论(0) 推荐(0) 编辑
摘要:"题目" DP或者迭代加深搜索,比较考验递归的搜索。 题目第一问可以用迭代加深搜索限制层数。 第二问需要满足字典序最小,所以我们可以在搜索的时候把比当前答案字典序大的情况剪枝掉。 然后考虑怎么搜索,对于每一位我们都要先搜索出每一位所能到达的所有情况包括选或者选几个。 c++ include defi 阅读全文
posted @ 2019-10-23 10:55 DAGGGGGGGGGGGG 阅读(130) 评论(0) 推荐(0) 编辑
摘要:"题目" 搜索+剪枝,主要考察细节和搜索的顺序,首先可以发现所有数据均为整数,所以初始化每层的蛋糕R和H是整数,然后从高层向低层搜索,然后预处理出各层向低层的最小面积和体积用来剪枝。 就可以每层从当前最大半径向最小半径枚举,并分类讨论加剪枝即可。 c++ include using namespac 阅读全文
posted @ 2019-06-28 17:39 DAGGGGGGGGGGGG 阅读(142) 评论(0) 推荐(0) 编辑
摘要:"题目" 这个提示一个简单的最短路计数,除了用数组存上最短路的个数的做法以外,还有可以在得出最短路之后,搜索加剪枝的方法来通过该题。 可以反向搜索用A 的方法来通过,但是这个题的去重十分的恶心,需要一些玄学操作。 Code c++ // luogu judger enable o2 includ 阅读全文
posted @ 2019-02-22 21:09 DAGGGGGGGGGGGG 阅读(129) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示