随笔分类 -  dfs

摘要:微信小程序:一起玩连线 游戏玩法 将相同颜色的结点连接在一起,连线之间不能交叉。 算法思想 转换为多个源点到达对应终点的路径问题,且路径之间不相交。按照dfs方式寻找两个结点路径,一条路径探索完之后,标记地图并记录路径,然后探索下一条路径,以此类推。路径探索失败之后,地图进行标记回退,路径也回退。 阅读全文
posted @ 2018-07-02 14:00 hjzqyx 阅读(2805) 评论(0) 推荐(1) 编辑
摘要:题意 给出两个单词(start和end)和一个字典,找出所有从start到end的最短转换序列 比如: 1、每次只能改变一个字母。 2、变换过程中的中间单词必须在字典中出现。 注意事项 所有单词具有相同的长度。 所有单词都只包含小写字母。 题意 给出两个单词(start和end)和一个字典,找出所有 阅读全文
posted @ 2017-08-09 19:10 hjzqyx 阅读(832) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://www.lintcode.com/zh-cn/problem/longest-increasing-continuous-subsequence-ii/最长上升连续子序列 II 给定一个整数矩阵(其中,有 n 行, m 列),请找出矩阵中的最长上升连续子序列。(最长上升连... 阅读全文
posted @ 2015-11-22 21:26 hjzqyx 阅读(991) 评论(0) 推荐(1) 编辑
摘要:历届试题 剪格子 时间限制:1.0s 内存限制:256.0MB 问题描述如下图所示,3 x 3 的格子中填写了一些整数。+--*--+--+|10* 1|52|+--****--+|20|30* 1|*******--+| 1| 2| 3|+--+--+--+我们沿着图中的星号线... 阅读全文
posted @ 2015-03-21 19:31 hjzqyx 阅读(430) 评论(0) 推荐(0) 编辑
摘要:历届试题 带分数 时间限制:1.0s 内存限制:256.0MB 问题描述100 可以表示为带分数的形式:100 = 3 + 69258 / 714。还可以表示为:100 = 82 + 3546 / 197。注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的... 阅读全文
posted @ 2015-03-21 19:29 hjzqyx 阅读(1111) 评论(0) 推荐(1) 编辑
摘要:题意:有横向和纵向的街道,每个街道只有一个方向,垂直的街道相交会产生一个节点,这样每个节点都有两个方向, 问是否每一个节点都可以由其他的节点到达.... 思路:规律没有想到,直接爆搜!每一个节点dfs一次,记录每个节节点被访问的次数!如果每个节点最终的访问次数 和所有节点的数目相同,则... 阅读全文
posted @ 2014-10-06 09:10 hjzqyx 阅读(403) 评论(0) 推荐(0) 编辑
摘要:题意:给定一个矩阵,表示每两个节点之间的权值距离,问是否可以对应生成一棵树, 使得这棵树中的任意两点之间的距离和矩阵中的对应两点的距离相等! 思路:我们将给定的矩阵看成是一个图,a 到 b会有多条路径, 如果存在一棵树,那么 这个树中a->b的距离一定是这个图中所有a->b中路径长度最短的一条!所... 阅读全文
posted @ 2014-09-29 23:24 hjzqyx 阅读(503) 评论(0) 推荐(0) 编辑
摘要:题意:从任意一个任意一个可走的点开始找一个最长的路,这条路如果有转弯的话, 那么必须是 90度,或者没有转弯! 思路: 首先用dfs将所有可走点开始的 8 个方向上的线段的最长长度求出来 ! step[i][j][k] 表示的是(i,j)沿着k方向一直走到头或者转弯时的最长步数! 最后枚举每一个可... 阅读全文
posted @ 2014-09-25 21:25 hjzqyx 阅读(436) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:给出立方体的每个顶点的坐标(是由源坐标三个数某几个数被交换之后得到的!), 3 问是否可以还原出一个立方体的坐标,注意这一句话: 4 The numbers in the i-th output line must be a permutation o... 阅读全文
posted @ 2014-09-11 15:33 hjzqyx 阅读(429) 评论(0) 推荐(1) 编辑
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #i... 阅读全文
posted @ 2014-09-08 15:22 hjzqyx 阅读(379) 评论(0) 推荐(0) 编辑
摘要:/* 这个代码运行的时间长主要是因为每次枚举之后都要重新计算一下和的值! 如果要快的话,应该在dfs,也就是枚举的过程中计算出前边的数值(这种方法见第二个代码),直到最后,这样不必每一次枚举都要从头再算一遍值! */ 1 #include 2 #include 3 #include ... 阅读全文
posted @ 2014-09-03 23:27 hjzqyx 阅读(405) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:给一个DAG图,n个节点,每个节点都对应一个值,入度为零的点走到出度为零的点,计算所有可能路径 3 经过节点值的和最大! 4 5 思路:记忆话搜索:也就是如果我们搜索到某一个节点的时候发现该节点已经存在了值,那么直接返回该节点的值! 6 ... 阅读全文
posted @ 2014-08-23 23:43 hjzqyx 阅读(352) 评论(1) 推荐(0) 编辑
摘要:1 /* 2 题意:n个同学,k个车, 取旅游d天! 3 要求所有的学生没有两个或者两个以上的在同一辆车上共同带d天! 输出可行的方案! 4 5 对于d行n列的矩阵,第i行第j列表示的是第i天第j个同学所在的车号! 6 也就是保证所有行不全相同,即每一列都是不相同的... 阅读全文
posted @ 2014-08-16 21:01 hjzqyx 阅读(473) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 dfs比较好想,就是测试数据的问题,导致在遍历边的时候要倒着遍历才过! 3 */ 4 #include 5 #include 6 #include 7 #include 8 #include 9 #define Max 0x3f3f3f3f10 using namespace st... 阅读全文
posted @ 2014-07-28 21:59 hjzqyx 阅读(375) 评论(0) 推荐(0) 编辑