随笔分类 - 算法&思想——搜索
摘要:搜索 1.定义 搜索算法是利用计算机的高性能来有目的的穷举一个问题解空间的部分或所有的可能情况,从而求出问题的解的一种方法。现阶段一般有枚举算法、深度优先搜索、广度优先搜索、A* 算法、回溯算法、蒙特卡洛树搜索、散列函数等算法。在大规模实验环境中,通常通过在搜索前,根据条件降低搜索规模;根据问题的约
阅读全文
摘要:解析 我们观察范围可以发现n非常的小,(一般来说不是搜索就是状压dp)所以说对于这题我们可以用记忆化搜索或者dp,我们发现起点不同那么最终答案也就不同,也就是说答案是跟起点有关的,于是我们便可以想到去枚举每个起点,那么我们可以定义状态 f[i] 表示当前状态为 i 的时候最小花费,那
阅读全文
摘要:题意 sb题目,不多说,爆搜就能过。 代码 cpp include using namespace std; int n,m,ans=10){ ans=min(ans,data); return; } } if(x+1
阅读全文
摘要:一道状压dp题,但是竟然可以搜索搜过!!(儒雅随和)。 代码(爆搜) cpp include using namespace std; const double eps=1e 8; int T,n,m,ans; double x[25],y[25],a[25],b[25]; bool book[25
阅读全文
摘要:题意 给出n n 的图,A为起点,B为终点, 为障碍,.可以行走,问最少需要拐90度的弯多少次,无法到达输出 1。 解析 思路:构造N M 4个点,即将原图的每个点分裂成4个点。其中点(i,j,k)表示在(i,j)时人的方向是k,然后对于两个点(i,j,k)和(i,j,kk),如果k和kk是两个旋转
阅读全文