随笔分类 - 算法--简单算法
摘要:(三)迭代加深搜索 目的: 解决宽度优先的空间问题和深度优先不能找到最优解的问题。思想: 首先给DFS一个比较小的深度限制,然后逐渐增加深度限制,直到找到解或找遍所以分支为止。 (四)启发式搜索 利用知识来引导搜索,达到减少搜索范围,降低问题复杂度的目的。启发信息的强度强:降低搜索工作量,但可能导致
阅读全文
摘要:接着(一)start (二)广度优先搜索(BFS) 广度优先搜索(又称宽度优先搜索算法)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。 Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。其别名又叫BFS,属于一种盲目搜寻法,目的是系统地展开
阅读全文
摘要:* 搜索可能是在 NOIP 中使用范围最广的算法,大部分的题目,在想不到正解的情况下,总能写个搜索(我们称之为的暴力)来得到部分的分数。 * 搜索,严格说不上是一个算法,是一种编程的思路:通过穷举所有的可能性,我们模拟问题的处理步骤,直到找到问题的解。* 穷举所有的可能性就注定了时间和空间花销肯定会
阅读全文
摘要:(一)深度优先搜索(DFS) 我们先给出深度优先的解决办法,所谓深度优先搜索,在迷宫问题里就是不撞南墙不回头,能走得深一点就尽量深一点。如果碰到了墙壁就返回前一个位置尝试其他的方向。在《啊哈!算法》中作者给出了一个深度优先搜索的基本模型,笔者认为比较贴切。 基本框架: 例:最简单的DFS——全排列(
阅读全文
摘要:题目描述 有一个m*n格的迷宫(表示有m行、n列),其中有可走的也有不可走的,如果用1表示可以走,0表示不可以走,文件读入这m*n个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的行号和列号)。现在要你编程找出所有可行的道路,要求所走的路中没有重复的点,走时只能是上下左右
阅读全文
摘要:题目背景 A地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车。政府派人修复这些公路。 题目描述 给出A地区的村庄数N,和公路数M,公路是双向的。并告诉你每条公路的连着哪两个村庄,并告诉你什么时候能修完这条公路。问最早什么时候任意两个村庄能够通车,即最早什么时候任意两条村庄都存在至少一条修复完
阅读全文
摘要:题目描述 一块N x N(1<=N<=10)正方形的黑白瓦片的图案要被转换成新的正方形图案。写一个程序来找出将原始图案按照以下列转换方法转换成新图案的最小方式: 1:转90度:图案按顺时针转90度。 2:转180度:图案按顺时针转180度。 3:转270度:图案按顺时针转270度。 4:反射:图案在
阅读全文
摘要:T1 消失的数字(number) Time Limit:1000ms Memory Limit:128MB 题目描述 rsy拥有n个数,这n个数分别是a1,a2,…,an。 后来出现了一个熊孩子zhw,用橡皮擦去了其中若干个数字,并且打乱了剩下的数字。rsy赶到现场后只剩下了m个数字b1,b2,…,
阅读全文

浙公网安备 33010602011771号