
深搜
liusu201601
这个作者很懒,什么都没留下…
展开
-
luogu1242新汉诺塔(深搜)
题目链接#同类的题目还有这些#题目大意: 1 给出汉诺塔的开始状态和结束状态,求最小的转移过程。 2 要输出过程解题思路: 1 首先要深刻理解汉诺塔的游戏规则:任何时候,大盘子一定在小盘子下面。 2 搜索过程: (1)从大到小搜索,让当前的盘子 c 从当前的 x 棍子放到目标的 y棍子上; (2) 如果 (1) 不能执行,是因为比 c 小的盘子们...原创 2018-04-02 11:35:13 · 322 阅读 · 1 评论 -
数独!!(外挂)
你遇到不会做的数独怎么办?会编程就是不一样~~~暂时没找到可提交的地方,往后会加:输入样例:0 0 4 0 0 0 0 3 00 6 3 0 0 0 0 0 28 9 0 1 0 0 0 0 00 0 8 0 7 2 0 0 00 0 0 8 4 6 0 0 00 0 0 9 3 0 5 0 00 0 0 0 0 5 0 1 61 0 0 0 0 0 8 5 00 5 ...原创 2018-09-06 17:55:19 · 1753 阅读 · 0 评论 -
caioj1044:简单数密(深搜+数独+求和)
要登录才能看题目:题目传送门题目大意:1、在数独的基础上,加入每行每列求和的条件;上代码://caioj1044 简单数迷//题解:深搜+剪枝 #include<cstdio>#include<cstring> int hs[20],ls[20],fx[20][20],fy[20][20];int a[20][20],b[20][20];in...原创 2018-09-06 17:58:35 · 1139 阅读 · 0 评论 -
luogu1019:单词接龙:深搜+单词拼接
题目连接:该题是luogu试炼场的2-7:T2题目大意:1 给出n,n个单词,首尾有重复就可以拼接在一起,要求如下:2每个单词只能最多用2次,单词之间不能完全包含。3求:最大的拼接长度。解题思路:1吃果果的深搜,关键是要处理好:单词之间不能完全被包含2每个单词可以用2次,记得哦;3细节请看代码,有详尽的注解上代码://luogu1019:单词接龙//单词拼接...原创 2019-04-04 15:07:46 · 390 阅读 · 0 评论 -
luogu1092:虫吃算:深搜+剪枝
题目连接:该题是luogu试炼场的2-7:T6题目大意:1给出一个3*n的字母棋盘,要求用[0,n)这n个数字替换棋盘里的字母,使得棋盘形成一个n进制的合法的竖式。解题思路:经典的深搜复杂题,NOIP2004的T41按照位置搜索,N的最大之是26,所以会超时;2想剪枝:进位的处理,数字的差重。3玄学:枚举的时候从大到小会优化很多时间。上代码://luogu1...原创 2019-04-08 11:54:12 · 250 阅读 · 0 评论 -
luogu1074:靶形数度:数迷问题+填数顺序优化
题目连接该题是luogu试炼场的2-9:T4题目大意一个9*9的数独,带权值,求填写数独的基础上,总权值最高;要求1:权值是各个格子的值*分数的和;各个格子的分数分布,类似一个标靶,所以叫靶形数独;题目分析基础的数独问题加上优化;优化的思想也不难理解:不要盲目地按照行列填写,找点方法!解题思路每次都从全图中找“当前选择最少的点”,然后再尝试填数;本题的搜索...原创 2019-04-16 19:28:52 · 304 阅读 · 0 评论 -
luogu1171:售货员的难题:搜索+剪枝
题目连接该题是luogu应该属于试炼场的2-9:T5(手动加题)题目大意给出一个n*n矩阵,第(i,j)格的值表示从 i村->j村的距离;要求从1号村庄出发,遍历所有村之后,回到1村庄;题目分析最短路问题赤裸的搜索可以80分(数据较弱的时候,是一道很好的入门题)解题思路暴力只能拿80分,接下来就是想剪枝的问题了;定向搜索思维:先对每个村能通往别村的值排...原创 2019-04-17 08:50:24 · 447 阅读 · 1 评论 -
luogu1118:数字三角形:全排列+杨辉三角剪枝
题目连接该题是luogu试炼场的2-9:T1题目大意题目大意题目大意题目大意原创 2019-04-15 11:50:26 · 338 阅读 · 0 评论 -
luogu1434:滑雪:记忆化搜索
题目连接该题是luogu试炼场的2-9:T2题目大意给出一个n*m的矩阵,求最长的链;要求1:方向只有4个:上/下/左右;要求2:值只能从高到低;题目分析因为是100*100,要考虑记忆化;解题思路每个点都尝试做起点;简单记忆化;PS:本题用DP也很容易理解,以后有需要再上代码;上代码//luogu1434:滑雪 //每个点都尝试做开头,记忆化处...原创 2019-04-15 15:04:18 · 266 阅读 · 0 评论 -
luogu1088:火星人:深搜/STL大法
题目连接该题是luogu试炼场的2-11:T1全排列类型的问题:全排列入门题题目大意给出一个n,表示关于n 的全排列事件;给出一个m,表示经过m次后,排列的值是多少?给出初始的排列状态;题目分析看题目会大意会晕,但题目本身不难理解:== 给出关于 n 的当前的排列状态,求后面第m个状态。==解题思路1第一感觉,n是10000,深搜没戏;但仔细分析一下,会...原创 2019-04-18 11:16:27 · 269 阅读 · 0 评论 -
luogu1057:传球游戏:记忆化搜索 / DP
题目连接该题是luogu试炼场的2-12:T3题目大意有n 个小朋友,玩击鼓传花的游戏,小球只能传给左边或者右边的同学;要求第m次传回给出发者,问方案数量;题目分析看题目第一反应当然是DFS,但显然是需要优化的: 思路1:50分:暴力DFS思维 思路2:dfs+记忆化 思路3:DP传统分析 思路4:神仙:很好地诠释了比赛的时候该有的做题步骤...原创 2019-04-23 12:04:40 · 439 阅读 · 1 评论 -
luogu1087:FBI树:树的后序遍历
题目连接该题是luogu试炼场的2-14:T1题目大意知道一个01串,作为一棵树的叶子要求建立一棵FBI树,输出这棵树的后续遍历(左->右->根);题目分析题目样例画出来的树如下图:主要考察后序遍历问题:解题思路:用结构体作为节点的存储工具;叶子作为搜索的边界;先搜左边,再搜右边,回溯的时候输出根节点的信息。代码://luogu1...原创 2019-05-08 14:45:49 · 329 阅读 · 0 评论 -
luogu1219:八皇后(深搜+斜)
题目传送门:该题是luogu试炼场的2-7:T1前置题目:n车问题,具体详解在这里。题目大意:1、在n*n的矩阵中,放入n个皇后,让她们相安无事(女人不打架,呵呵);解题思路:1、类似前面的n车问题,但是多了一个“斜”的概念;2、搞清楚左右斜与坐标的关系,本题搞定;上代码://luogu1219 八皇后 #include<cstdio>#inclu...原创 2018-09-06 17:51:20 · 371 阅读 · 0 评论 -
noi2.5:8465马走日(深搜+8个方向)
题目传送门题目大意:1、在一个矩阵里,知道出发点,求8个方向的情况下,遍历的地图;解题思路:1、类似老鼠走迷宫,必须是按照马的日字格来走,也就是有8个方向;2、又类似蛇形矩阵,要填满迷宫;上代码://noi2.5:8465 马走日//八个方向的深搜遍历#include<cstdio>#include<cstring>int n,m,...原创 2018-09-06 17:48:10 · 1397 阅读 · 0 评论 -
luogu1441砝码称重(深搜+背包:组合数+01背包)
题目连接#同类的题目还有这些#题目大意: n个砝码选其中m个,求他们能组合出来的重量最多。解题思路(简单粗暴): 1 n个砝码选m个,吃果果的组合数,dfs搞起来 2 问m个砝码能组合出来的重量:01背包。游戏结束(PS:深搜的参数意义,一定要搞懂,我WA了3次):#include<cstdio>#include<cstring>int n,m,b[...原创 2018-04-02 15:35:07 · 364 阅读 · 0 评论 -
luogu1378油滴扩散(深搜)
题目连接#同类的题目还有这些#题目大意: 1 坐标轴内,定义一个方框(知道对角端点); 2 n个点在框内做圆,要求彼此不相交。 3 求最大的覆盖面积。解题思路:其实一个全排列的思维就搞定了,只是坐标中的求距离比较繁琐; 1 预处理边界点,我是强行把对角点定义在(左下)和(右上); 2 深搜:依次枚举每个点 i ,求他能扩散的最大面积; 3 和全排列思路一样,根据...原创 2018-04-04 10:04:51 · 266 阅读 · 0 评论 -
NOIP大纲整理:(四)图论基础与程序对拍
图论算法:1、图的遍历:宽搜:bfs 队列的使用:很少单独出题,结合邻接表,比较容易理解2、图的遍历:深搜:dfs 递归的使用:很少单独出题,结合邻接表,比较容易理解3、最小生成树:Kruskal+prim算法 已经整理了一些入门题目:最小生成树基础4、最短路径:spfa:邻接表的应用 邻接表的使用+宽搜思维+循环队列的应用。算是入门必背题...转载 2018-08-05 14:23:15 · 749 阅读 · 0 评论 -
NOIP大纲整理:(十三)基础算法详解
知识点罗列:一、倍增思维: 1、倍增算法; 2、树上的LCA(最近公共祖先) ;3、快速幂二、分治思维:1、二分查找;2、归并排序; 3、快速排序三、贪心思维:四、搜索:1、三种不同的问题; 2、两种不同的方法:bfs、dfs;3、优化搜索的技巧 一、倍增算法:定义:用f[i][j]表示从i位置出发的2j个位置的信息综合(状态)一个小小的问题:为什么是2j而不...转载 2018-08-07 08:20:13 · 2366 阅读 · 0 评论 -
深搜基础201809
写在前面: 深搜可以使“会编程”与“不会编程”的一个很重要的分水岭。我们一起来讨论一下深搜的基础思维和一些简单的裸题。问:深搜是什么?答:深搜其实就是一只笨老鼠走迷宫,每次只会无脑往前冲,撞到墙了,返回一步,继续冲,直到任务完成。基础题目分布如下表:标号 题目 知识点分布 1 全排列 n个小朋友坐n张凳子的全部情况枚举 2 组合数字...原创 2018-09-06 17:17:36 · 734 阅读 · 0 评论 -
luogu1706全排列问题(深搜+元问题)
题目传送门题意分析:1、输入一个n,求n的全排列。解题思路:1、其实就是求,n个小朋友坐n个座位,有多少种方案,把所有的方案输出。//caioj:1031递归1:全排列 #include<cstdio>int a[110],b[110],n;void dfs(int x){ if(x>n) { for(int i=1;i<=n;i...原创 2018-09-06 17:20:59 · 436 阅读 · 0 评论 -
luogu1157组合数的输出(深搜)
题目传送门题意分析:1、输入n,k,求n个数字中选k个,有多少种方案。2、基础的数学组合问题。解题思路:1、利用一个很小的技巧,要求每个数字都比前一个大,保证不会出现重复的组合;2、以上技巧是利用数字的次序实现(无序变有序);上代码//luogu1157:组合数的输出 #include<cstdio>int a[110],b[110],n,k...原创 2018-09-06 17:26:55 · 630 阅读 · 0 评论 -
caioj1040 素数圈(深搜+环的处理)
需要注册才能看到:题目传送门题意分析:1、输入n,求n的全排列中,要符合“这些数字想象成收尾相接的环,任意相邻两数的和是素数”的条件。2、在全排列的基础上,考察对于“环”的概念理解。解题思路:1、利用一个很小的技巧,订住蛇头!2、因为对于这个环,相对位置是不变的,要求1号小朋友坐在1号凳子,其他的怎么变,都不会出现重复;3、过程中增加判断素数的函数,第一次接触了剪枝。...原创 2018-09-06 17:35:03 · 779 阅读 · 0 评论 -
luogu1605 迷宫(深搜+迷宫元问题)
题目传送门题目大意:1、在一个N*M的迷宫里,知道开始点、结束点、障碍点,求能走串迷宫的总方案数。解题思路:1、本题是迷宫深搜问题的超级元问题,几乎没有任何的坑点,要掌握下面2个基础思维;2、四个方向的偏移量的理解;3、回溯还原的掌握;上代码//luogu1605 迷宫 #include<cstdio>#include<cstring>...原创 2018-09-06 17:39:59 · 647 阅读 · 0 评论 -
noi2.5:迷宫问题(深搜+n车问题)
题目传送门题目大意:1、n车问题,就是在一个棋盘里,放n辆车,要求相互不ga干扰。n皇后问题的简单版;解题思路:1、又是比较元问题的题目;2、加了一个障碍的设置,但是没什么意义;3、如果我改这题,会改成,有障碍的话,车彼此不能吃,用来增加难度,不妨思考一下?上代码//noi2.5:323棋盘问题//简评:八皇后的简化版本,车的摆放 //ps:#才是路 #i...原创 2018-09-06 17:44:07 · 677 阅读 · 0 评论 -
luogu1160:队列安排:双向链表/树的中序遍历
题目连接该题是luogu试炼场的2-13:T4题目大意n个数字组成的队列,多次的插入;再删除其中m个元素;要求输出最后的队列状态题目分析看题目第一反应是队列:但因为多次的间隔插入和条空删除,应该要用链表来做,链表的思想请参考 思路1:双向链表 思路2:用树来存储,中序遍历输出解题思路1:双向链表最开始的时候队伍里只有1号同学;接下来的...原创 2019-05-08 09:16:00 · 232 阅读 · 0 评论