
搜索与搜索剪枝
模板
lamentropetion
---
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【枚举+trie+dfs】CF514 C
注意到字符集只有3,因此如果发现有不同的字符,去枚举新的字符。对于每次询问,都去字典树上dfs。其实是trie上dfs的板题。先把字符串插入到字典树中。原创 2023-08-04 11:19:09 · 517 阅读 · 0 评论 -
【dfs分解质因数】CF27E
爆搜分解质因子的模板题,记录一下板子。原创 2023-08-02 15:46:31 · 198 阅读 · 0 评论 -
【连通块染色,双指针维护区间map,整除分块】CF616 CDE
很经典的双指针动态维护区间map,用set维护这个元素是否存在以及不同的种类个数,map维护每个元素的出现次数。经典的给格子染色,直接dfs染色就行,不要用并查集,虽然也能做但是不好写。然后对于每一个*,把周围的格子的颜色扔到set里去重统计就行。原创 2023-08-01 19:52:47 · 220 阅读 · 0 评论 -
【DFS】CF598D
直接搜索即可,对于每个连通块都去染色,对于每一个色块都维护这个色块的墙壁数。或者麻烦点用并查集维护也行。原创 2023-07-28 09:56:07 · 121 阅读 · 0 评论 -
【多维BFS】ABC311 D
可以发现,这种魔改BFS和dij的题,一般都是改两个部分:转移和边权。这个BFS魔改转移,就是遇到#时打转找到合适的方向即可。原创 2023-07-24 11:00:01 · 116 阅读 · 0 评论 -
【分层图BFS】AB路线
走到当前格子是第几步和格子的字符种类影响了能不能走该格子,因此需要多加一维k,表示走到当前字符种类的第k步。然后就可以去BFS了,但是每个状态可能会重复遍历,我们要求的是最少步数,怎么办。可以用一个类似与最短路的办法,记录一个DP数组,然后松弛。最后在统计答案的时候记得枚举一下这是以第几步到达的终点。首先看是什么影响了决策,即能不能走这个格子。原创 2023-07-05 16:54:05 · 426 阅读 · 0 评论 -
【多维Dij+DP】牛客小白月赛75 D
然后注意到边的权值,如果你取反了边权就变成了2,即边权不是2就是1,因此可以01BFS,复杂度为O(N),也可以Dij,O(NlogN),这里用Dij写。在这道题中,如果把某一个位置取反,那么就有可能有些本来不能走的路可以走了,因此对决策有影响,所以要加上一维:当前的0/1值。注意写法,多维Dij可以设结构体也可以设Tuple(但这里会超时),结构体内部需要排序。原创 2023-07-02 01:00:59 · 434 阅读 · 0 评论 -
【多维BFS】ABC308 D
决策是走到字符和预期相等的格子,因此预期字符会影响决策,因此需要把预期格子加入到状态中。至于预期状态怎么表示,因为是周期性的,可以模仿上次的,d=(d+1)%5即可。首先,我们发现到达一个格子之后,下一个格子的字符是确定的。原创 2023-07-02 17:40:25 · 211 阅读 · 0 评论 -
【BFS小技巧,魔改BFS】ABC254 E - Small d and k
给定一张图,每个点的度数不超过3,对于每次询问x k求离结点x距离不超过k的结点下标的和是多少。用vector<bool>和pair<int,int>优化BFS。原创 2023-04-23 09:01:52 · 125 阅读 · 0 评论 -
【记忆化搜索】ABC275 D - Yet Another Recursive Function
考虑所有的状态被去重后的结果,即所有的状态只被访问一次的结果。直接记忆化搜索即可,数组开不下了就用map。原创 2023-04-04 20:48:37 · 129 阅读 · 0 评论 -
【多维BFS】迷宫
(x,y,k)表示在坐标(x,y)有无钥匙,有就是1,没有就是0。然后去普通的BFS就行了,注意对可能遇到的情况进行小分类讨论。在遇到门的时候,是否有钥匙成了决策的影响因素。因此需要加一维来记录是否有钥匙。搜索题一般和DP的步骤很像。原创 2023-03-31 15:25:00 · 146 阅读 · 0 评论 -
【优先队列BFS】胖胖的牛牛
因此我们需要边扩展出去边计算转的次数,然后把次数放在优先队列里。对于这道题,优先级是按最少需要转的次数来排序的。记录上次的坐标就行,这样就能维护转动次数了。那么,为了维护转动次数,我们还需要。,即它的状态设计需要升维。原创 2023-03-30 23:35:41 · 129 阅读 · 0 评论 -
【DFS】NOIP2014]寻找道路
然后去bfs,bfs保证了最短路,因为边权都是1,所以可以直接bfs。先建个反图来check每个点到终点的连通性,用can数组存一下。原创 2023-03-27 21:44:00 · 112 阅读 · 0 评论 -
【DFS爆搜+判环】送外卖
但是这道题为了判环,在回溯的过程中没有把vis数组置0,而是去维护了结点的访问次数,如果一个结点的访问次数>1,说明包含这个结点的路径一定存在环。怎么去判环:在得到路径之后去沿着路径走一遍,如果出现一个在环里的结点,说明该路径存在环。一般来讲,在回溯的过程中,vis是重新置0的。如果存在环,就说明它的答案的长度是无穷大的。这道题加深了我对DFS中vis数组的理解。原创 2023-03-27 21:21:52 · 153 阅读 · 0 评论 -
【BFS搜索】迷宫与陷阱
多维BFS原创 2023-03-21 21:47:25 · 92 阅读 · 0 评论 -
篮球杯【并查集】发现环
DFS+并查集原创 2023-03-12 23:30:54 · 294 阅读 · 0 评论 -
Acwing 蓝桥杯 第一章 递归与递推
dfs原创 2023-02-26 00:48:53 · 491 阅读 · 0 评论 -
Educational Codeforces Round 122 (Rated for Div. 2) D. Make Them Equal
01背包+最短路原创 2022-12-03 20:33:52 · 446 阅读 · 0 评论 -
Codeforces Round #811 (Div. 3) C. Minimum Varied Number
水题原创 2022-08-02 13:57:03 · 445 阅读 · 0 评论 -
牛客小白月赛48 E-或与异或
爆搜原创 2022-09-26 23:06:25 · 178 阅读 · 0 评论 -
【dfs爆搜】poj 1129 Channel Allocation
dfs练习原创 2022-09-24 19:03:58 · 468 阅读 · 0 评论 -
hdu 非常可乐
BFS最短路原创 2022-09-05 23:15:42 · 153 阅读 · 0 评论 -
【BFS最短路】HDU A strange lift
BFS入门题原创 2022-09-05 15:34:36 · 175 阅读 · 0 评论 -
[NOIP2014]寻找道路
好题!原创 2022-08-22 21:43:30 · 151 阅读 · 0 评论