![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索
SLX_better
这个作者很懒,什么都没留下…
展开
-
深搜算法-1011
深度搜索题目,统计油田个数。 八个方向搜索:int dir[8][2]={{-1,-1},{-1,0},{-1,1},{0,1},{0,-1},{1,1},{1,0},{1,-1}}; 判断是否选择过 : grid[x][y]='*'; #include using namespace std; int n,m; char grid[105][105];//存储网格; int dir原创 2016-04-19 09:34:34 · 503 阅读 · 0 评论 -
搜索算法——总结
搜索算法 1.广度搜索(bfs) a. 从初始点开始,根据规则展开第一层节点,并检查目标节点是否在这些节点上,若没有,再将所有的第一层的节点逐一展 开得到第二层节点,如没有,则扩展下去,直到发现目标节点为止 b. 比较适合求最少步骤或最短解序列的题目 c.一般设置一个队列queue ,将起始节点放入队列中,然后从队列头取出一个节点,检查是否是目标节点,如不是则进行扩 展,将扩原创 2016-04-24 23:00:13 · 418 阅读 · 0 评论 -
搜索——1015
题意:国际象棋。给出起点和终点,问最少几步可以跳过去。 思路:找出从起点出发到达终点的所有路径路径,然后再从这些路径中寻找最短路径 scanf跳过空格读字符 #include #include #include #include using namespace std; int xx[8] = {1, 2, 1, 2, -1, -2, -1, -2}; i原创 2016-04-24 14:41:50 · 293 阅读 · 0 评论 -
搜索1006
简单题意: 给出4个点坐标A, B, C, D; 从A--B的速度为P, 从C--D速度为Q, 其他速度为R。求从A--D的最快时间。 思路: 首先在AB上三分一个点出来,然后再在CD上三分一个点让值最小两次三分重叠起来。结果应加上一个精度。 #include #include #define eps 1e-9 struct point {原创 2016-04-23 11:30:00 · 413 阅读 · 0 评论 -
搜索1005
在小车转弯过程中,黄线是不断地变化的,变化规律是先增大再减小。所以抓住这一点,用三分法。先找一个变量,角度sita,之后就是一系列的推导,算出黄线的长度。角度的范围是(0,pi/2)。 当三分找出最长的黄线长度之后,使之与Y做比较,当它小于Y时,就说明能够通过 #include #include #include #include #include #include #includ原创 2016-04-23 09:35:42 · 680 阅读 · 0 评论 -
深搜1020
题意:输入一个数字,输出一个素数环,要求每个相邻的数字和为质数,第一个数固定为1 思路:考递归搜索的能力,数据不大,其他Prime, map等的优化都没多大作用的,记录好数据 #include const int MAX_N = 20; int num; int cycle[MAX_N]; bool vis[MAX_N]; bool isPr原创 2016-04-22 20:54:49 · 260 阅读 · 0 评论 -
搜索—二分三分搜索—1004
这个题主要是一个公式的推导还有 二分法和三分法的综合运用。。 思路:先三分出一个角度,让抛物线在x=x0出的y取得最大值。 然后再到这个y一下去二分一个合适的值。 代码: #include #include #include #include #define PI acos(-1.0) #define G 9.8 #de原创 2016-04-21 08:50:05 · 440 阅读 · 0 评论 -
搜索-1017
最大的A,中等的B,最小的C 规定: 最大的瓶子只能往中等的瓶子倒;(若中等的瓶子为空) 中等的瓶子只能往最小的瓶子倒;(若最小的瓶子不满) 最小的瓶子只能往最大的瓶子倒;(若最小的瓶子已满) 这样就会产生一个循环,已最小瓶子的容量为度量进行A->B->C的循环,B作为中间体,只有空了之后才会从A中调入,这样就可以保证每一次的倒入都是独一无二的,而且可以包容所有的情况并且符原创 2016-04-21 16:58:10 · 368 阅读 · 0 评论 -
搜索算法-二分搜索-方程解问题(problem 1002)
题意:Now, here is a fuction: F(x) = 6 * x^7+8*x^6+7*x^3+5*x^2-y*x (0 <= x <=100) 当0 思路:与problem A相似 ,相求最小解 ,可以对其求导,求出当导函数=0时x 的值 ,把x代入方程求出解 #include using namespace std; #include原创 2016-04-07 10:53:32 · 1160 阅读 · 0 评论 -
搜索算法-二分搜索-方程解问题(problem 1001)
题意:给出个意愿多次方程 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y;当给出不同的Y,让求x的精确值(小数点后四位) 思路:二分法搜索求解,left与right值越来越靠近,当两者差别很小时,中间值大约=解。 #include using namespace std; #include #include #include #include #原创 2016-04-07 10:18:53 · 490 阅读 · 0 评论 -
猜数字 1008
A有1数m,B来猜.B每猜一次,A就说太大,太小或对了。问B猜n次可以猜到的最大数。 第1行是整数T,表示有T组数据,下面有T行 每行一个整数n (1 ≤ n ≤ 30) 思路:B在有限的次数内有无数种猜测方法,在保证能猜中的情况下,求猜测的最大值,用最优方案 #include #include #include usi原创 2016-04-12 19:18:16 · 399 阅读 · 0 评论 -
搜素算法——二分搜索-1003
题意:来了f个人,有n个披萨饼,这些披萨饼有着相同的厚度和各自的半径,每个人吃的都是一样的数量,而且不能大家都不想去吃用剩下的边角料留下的披萨,所以就问每个人吃披萨饼的最大量。 用二分搜素,注意精度,误差限,一定要注意1e- #include #include #include using namespace std; const double PI = acos(-1.原创 2016-04-14 16:03:05 · 419 阅读 · 0 评论 -
深搜-n皇后问题 1019
题意:在n×n格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于再n×n的棋盘上放置n个皇后,任何2个皇后不妨在同一行或同一列或同一斜线上。 就是考虑皇后放置的位置,对于每一行,我们需要枚举每个可以放置皇后的位置,而且需要判断当前位置(第i行)是否满足条件,即判断这个位置是否与放置好的前i-1行的皇后的位置相冲突,原创 2016-04-14 18:02:02 · 1371 阅读 · 0 评论 -
深搜算法-1024
题意:给出一个序列,要你输出这个序列的前p个序列(若总排列w 排列方式:序列为原序列的非减子序列,length从小到大,length相同的话,位置前的排在前面; 思路:判断如果搜索的是子序列的第一个元素,那么判断从原始序列开始到当前位置是否已经出现过该元素,若出现过则之前肯定搜索过该元素,则放弃该元素的搜索。第二个重判,当搜索的不是子序列的第一个元素时,则判断子序列的前一个元素对应原始序列的位原创 2016-04-16 22:02:36 · 1707 阅读 · 0 评论 -
广度搜索-1013
题意:有一个只有上下按钮的电梯,每一层有一个参数m,在这一层只能向上或向下走m层,问从A层到达B层最少需要走几步。 思路:采用BFS广搜来解决,因为行走路线可以形成一个二叉树,每一步都有两种选择:上或者下。因此,BFS的那种层层搜索恰好能让我们找到满足题目条件的最短路径,注意A == B的情况 #include #include #include #define原创 2016-04-17 22:12:28 · 394 阅读 · 0 评论 -
搜索 继续畅通工程 problem e
Problem Description 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建道路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全省畅通需要的最低成本。 Input 测试输入包含若干测试用例。每个测试用例的第1行给出村原创 2016-06-28 23:34:48 · 380 阅读 · 0 评论