![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
AcWing刷题
在AcWing平台刷题的总结
良木lins
这个作者很懒,什么都没留下…
展开
-
AcWing 173. 矩阵距离(搜所)
广度优先搜索 + 多源最短路径原题链接感悟:这个题啊,其实可以转换个思路,转换成1的格子到其他0的格子的最短路径,就基本知道是多源最短路径的问题。说到多源最短路径有个大名鼎鼎的Floyd算法,不过本题不用这么麻烦,因为读懂题目可知边的权值都是1(相邻边)。可以直接用广搜,等下详细说。还有啊,今天终于报上了心心念念的老师的算法基础课,很激动,尽管自己水平不咋地,还是得加油啊!!!广搜的基本框架...原创 2020-04-08 20:46:23 · 177 阅读 · 0 评论 -
AcWing 172. 立体推箱子(搜索)
广度优先搜索原题链接感悟:这类题目的基本框架还是很简单的,剪枝都不用思考很多。但状态的表示是个难题,特别的麻烦,只能先总结点大概的处理思路。这题我是想不到这么好的处理方式,特别是三维数组都不是很会用,刷完搜索就去刷刷数据结构类的题吧。广搜的基本框架(bfs)题目所给的所有状态的表示开始与结束状态的储存基本四个方向的表示每走一步状态的储存int bfs(){ queue<...原创 2020-04-06 17:25:13 · 143 阅读 · 0 评论 -
AcWing 170. 加成序列(搜索)
迭代加深原题链接感悟:之前用紫书学了下迭代加深,自我感觉应该还是可以的,这次在来实践的时候才发现,除了知道大概要怎么做外,其他的全无头绪。很难受。这道题还是简单题啊!!!从这道题开始总结经验吧,还有老师讲的很好啊。题型基本框架数据的存储状态 path[ ]剪枝– 枚举对象的顺序– 判重int maxd; //限定的深度for(maxd = 1; ; maxd++) ...原创 2020-04-06 16:51:38 · 120 阅读 · 0 评论 -
AcWing 168. 生日蛋糕(搜索)
深度优先搜索 + 剪枝原题链接感悟:本题的小细节还挺多的,也正是利用这些题目给的小细节来增加剪枝条件的。这个题是我第一次遇到需要一些数学式子推到的题目,尽管不难,但第一次碰到也很蒙,虽然数学的学习还算可以,但应用到一些实际东西上还是无从下手,得加强加强。NOTE本题都带有pai,且题目最后不用输出,则一起全部舍去题目思路搜索对象及顺序: 深度搜,肯定是对层数下手的,然后从下往上...原创 2020-04-06 16:51:03 · 133 阅读 · 0 评论 -
AcWing 167. 木棒(搜索)
深度搜索 + 剪枝感悟:开始的时候自己能写一些出来,基本就写个主函数,能想到两个剪枝条件,啊,还得加倍努力啊!!!刚开始听视频讲解的时候觉得有几个剪枝条件有点鸡肋,好像没有什么用,最后在自己深度思考的时候想要弄明白到底有什么差别的时候(因为少了几个剪枝条件就会TTL)才发现很有用,原来是我的理解没到位,再看一次视频讲解发现说的真的好,证明的很到位。原题链接题目思路思路:肯定有num * ...原创 2020-04-06 16:50:19 · 119 阅读 · 0 评论 -
AcWing 166. 数独(搜索)
深度优先搜索原题链接优化非常重要,在这题里更是如此常见的优化技巧(本题前三种都有使用)优化搜索顺序排除冗余信息可行性剪枝最优性剪枝(这里没有)记忆化(就是动态规划了)本题思路:(剪枝很重要,不然很容易超时)优先搜索的对象与顺序:可选方案最少的位置枚举该位置可选的数字dfs搜索关键 :弄清楚代码编写时二进制与十进制的转换过程lowbit(截取二进制最低位1对应的值...原创 2020-04-06 16:49:40 · 190 阅读 · 0 评论 -
AcWing 165. 小猫爬山(搜索)
深度优先搜索(dfs) 体会 深度优先,就是与回溯法结合,是一种暴力的枚举,可以配合一些剪枝,减少搜索量。要考虑的问题枚举对象dfs的参数返回条件剪枝技巧原题链接枚举对象:车的数量,从1开始 。每次车的数量都需要用for枚举cat的放置情况dfs 参数:当前的cat,当前枚举的车的数量剪枝技巧:从选择最少的量开始枚举 这里可以将cat的w从大排到小...原创 2020-04-06 16:48:17 · 167 阅读 · 0 评论 -
AcWing 164. 可达性统计(搜索)
图的遍历原题链接本题思路建立一个图的邻接表每个链表里都储存了与之直连的点,那判断一个点的可达性,可求那些直连点自己链表里储存点的并集优化方案与技巧数组模拟邻接表,节约空间对图进行拓扑排序,即优化搜索顺序– 拓扑排序的特点是越后面的点直连的点越少,即可行方案越少bitset 利用bitset存放点,求并集bitset将数压缩为二进制形式(内部表现)的十进制(外部表现)...原创 2020-04-06 16:46:52 · 137 阅读 · 0 评论 -
AcWing 171. 送礼物(搜索)
深度优先 + 双向搜索双向搜索:将整个需要搜索的对象分成两半原题链接感悟:首先可能会思考动态规划,但它的时间复杂度是(nv)v太大了,不适合。n比较小,可以考虑爆搜。然后这里有个非常好的技巧,就是把原数据分成两半,在通过一些技巧,剪枝,可以有效的降低时间复杂度。本题思路先搜索前 N / 2 的数据,枚举所有可能的重量集合,存入数组对所有重量集合排序,从大到小(顺序优化),判重(排除...原创 2020-04-05 17:19:23 · 150 阅读 · 0 评论