搜索
文章平均质量分 73
ACdreamers
这个作者很懒,什么都没留下…
展开
-
二分搜索典例
搜索算法是利用计算机的高性能来有目的地穷举一个问题的部分或所有的可能情况,从而求出问题的解的一种方法。 二分查找必须满足单调性时间复杂度:O(logN)1.HDOJ-2199 给出方程:8*x4+7*x3+2*x2+3*x+6=Y,其中,实数Y满足(fabs(Y) ),请输出x在区间[0,100]的解,结果精确到小数点后4位。#include #include usi原创 2012-07-30 14:42:49 · 1559 阅读 · 0 评论 -
广搜与深搜
基本思想:从初始状态S开始,利用规则,生成所有可能的状态。构成树的下一层节点,检查是否出现目标状态G,若未出现,就对该层所有状态节点,分别顺序利用规则。生成再下一层的所有状态节点,对这一层的所有状态节点检查是否出现G,若未出现,继续按上面思想生成再下一层的所有状态节点,这样一层一层往下展开。直到出现目标状态为止。广度优先搜索采用队列存储(队列是先进先出) BFS算法:(1)把起始节点S原创 2012-07-30 14:46:31 · 1645 阅读 · 0 评论 -
迷宫搜索
题目:Tempter of the Bone 1.奇偶性剪枝可以把map看成这样: 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 从为 0 的格子走一步,必然走向为 1 的格子 从为 1 的格子走一步,必然走向为 0 的格子 即:0 ->1或1->0 必然是奇数步原创 2013-03-03 19:56:14 · 1338 阅读 · 0 评论 -
经典的回溯问题
八皇后问题是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出:在8x8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法?八皇后在棋盘上分布的各种可能的数目非常大。但是可以将一些明显不满足问题要求的格局排除掉,由于任意两个皇后不可能同行,即每一行只能放置一个皇后,因此将第i个皇后放置在第原创 2012-11-26 04:42:16 · 2807 阅读 · 0 评论 -
Wiki1017(乘积最大)
题目:http://wikioi.com/problem/1017/ #include #include #include using namespace std;namespace Multi{ const int N = 25; int n,k,ans; char str[N]; bool vis[N];原创 2013-09-25 09:08:05 · 1084 阅读 · 0 评论 -
迭代加深搜索与埃及分数求解
迭代加深搜索,实质上就是限定下界的深度优先搜索。即首先允许深度优先搜索K层搜索树,若没有发现可行解,再将K+1后重复以上步骤搜索,直到搜索到可行解。在迭代加深搜索的算法中,连续的深度优先搜索被引入,每一个深度约束逐次加1,直到搜索到目标为止。这样可以看出重复搜索了好多。但是它的好处在于:1.空间开销小因为每个深度下实际上是一个深度优先搜索,不过深度有限制,而DFS的空间原创 2014-01-13 17:51:43 · 11692 阅读 · 4 评论 -
最小距离和
题目:在一个平面坐标系中给定()个点,坐标为范围在的绝对值均在范围内,在轴上找一点 使得这点到所有点的距离之和最短。 分析:本题方法是三分,我们知道三分满足的条件是这个对象必须是单峰函数。题目要求找到最小值,那么也就是说这 个距离原创 2014-04-20 15:20:18 · 2826 阅读 · 0 评论 -
模拟退火算法
模拟退火算法是用来求解最优化问题的算法。比如著名的TSP问题,函数最大值最小值问题等等。接下来将以如下几个方面来详细介绍模拟退火算法。 Contents 1. 模拟退火算法认识 2. 模拟退火算法描述 3. 费马点问题求解 4. 最小包含球问题求解 5. 函数最值问题求解 6. TSP问题求解 1. 模拟退火算法认识 爬山算法也是一个用来求解最优化问题的算法,每次都向着当前上升最快的方向往上爬,但是初始化不同可能原创 2013-08-17 10:28:16 · 89958 阅读 · 16 评论 -
经典搜索题
题目一:Red and Black #include using namespace std;int w,h;char s[21][21];int f(int i,int j){ if(ih||jw) { return 0; } if(s[i][j]!='#') { s[i][j]='原创 2012-12-06 17:41:09 · 2046 阅读 · 0 评论 -
HDU4454(几何+三分)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4454 题意:给一个点,一个圆和一个矩形,矩形与圆没有重叠部分,求从该点出发经过圆上一点再到矩形边上一点的距离和的最小值。 分析:在区间[0,2*PI]内三分角度即可。#include #include #include #include #include usi原创 2013-10-04 14:13:19 · 2073 阅读 · 0 评论 -
HDU1016(DFS)
题目:Prime Ring Problem #include #include #define N 105int n;int a[25];bool visited[25];bool prime[N];void isprime(){ int i,j; memset(prime,true,sizeof(prime));原创 2013-03-12 15:34:52 · 1368 阅读 · 0 评论 -
HDU4311(排序+二分)
题目:Meeting point-1 题意:给n个点的坐标,找出其中的一个点到其他点的距离和最小,每次只能向上,下,左,右走,最后求出这个距离的大小。#include #include #include #include using namespace std;const int maxn=111111;const long long INF=1e18;原创 2013-06-14 15:53:45 · 1534 阅读 · 0 评论 -
三分搜索
首先来说说三分的概念: 在二分查找的基础上,在右区间(或左区间)再进行一次二分,这样的查找称为三分查找,三分查找通常用来迅速确定最值。 众所周知,二分算法的要求是搜索的序列是单调序列,而三分法所面向的搜索序列的要求是:序列为一个凸性函数。 与二分法类似,三分算法先取整个区间的中间值mid,再取右侧区间的中间值midmid,从而把区间分为三个小区间。原创 2013-08-15 20:03:37 · 7156 阅读 · 1 评论 -
遗传算法简介
今天来讲遗传算法,遗传算法有很多应用,比如寻路问题,八数码问题,囚犯困境问题,动作控制,TSP问题,生产调度问题,在一个多边形中寻找一个包含在该多边形内的一个圆,函数求最值问题等等。之前讲的模拟退火算法是用来求解最优化问题的,链接为:http://blog.csdn.net/acdreamers/article/details/10019849 模拟退火算法用一句话概括就是:贪心过程中原创 2015-01-05 19:29:04 · 8024 阅读 · 0 评论