![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索
文章平均质量分 82
LIN452
(*╹▽╹*)
展开
-
USACO2011Open Silver Unlocking Blocks 题解
搜索搜索搜索! 每次把一块积木移动一步,而且每块积木内部的相对位置是不变的,那么每次只要记录积木任意一点的位置表示状态即可.为了方便,我们可以设为每个积木包围块的左上角的点. 如何实现?一种想法是暴搜!可惜T了…暴搜优化一下来个迭代加深,每次设定一个步数,可惜还是T了.由于问题为”最小步数” ,我开始想广搜.可是如何判重?积木位置可以随意移动,状态最多为(30*原创 2016-06-28 17:16:59 · 795 阅读 · 0 评论 -
USACO2011Open Gold Balanced Cow Subsets
N的范围很小,可以联想到枚举子集和状压.但是如果直接枚举两个子集,显然是不够的.那么我们可以联想到折半枚举!Meet inthe Middle! 把n个数分成两部分A,B集合,答案子集的来源有以下几种:1. A集合的子集.2. B集合的子集.3. 一部分是A的子集,一部分是B的子集.对于1,2两种情况都可以直接预处理出:枚举A的子集x,再枚举x的子集y,原创 2016-06-28 17:52:41 · 1013 阅读 · 0 评论