![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索
cy41
celery cabbage
展开
-
电路维修 (广搜变形 双端队列)
题目:https://www.acwing.com/problem/content/177/这道题做法挺多的,洛谷上有好多,但是都需要将该迷宫转换为一张图,即对于一条边,其对角线的点相互到达需要几次旋转,若该边为'\',则左上角到右下角可以不用旋转边直接到达,而左下角到右上角则需要一次旋转,故可将该两点间边权置为1,将图建立起来。接下来可以有两种做法,堆优化最短路跑,广搜。这里说一下广...原创 2019-05-05 10:35:44 · 327 阅读 · 1 评论 -
牛客寒假算法基础4 C
题目链接:https://ac.nowcoder.com/acm/contest/330/Cbfs基础题;考虑到自身有两种状态,水和火,所以开三维数组,记录状态;每一步有上下左右四种走法,不过当当前格子为道具格子时,可以选择原地不动转换状态,花费1单位时间;需要注意的是,到一个格子的时候,状态不同是算不一样的,所以不可以通过把走过的格子变成墙来记录是否访问,可以使用flag数组记录...原创 2019-05-14 15:11:43 · 106 阅读 · 0 评论 -
poj 1741(点分治)
题目链接:http://poj.org/problem?id=1741给定一颗树,以及k,一次询问,找出所有路径长度小于等于k的点对数。前置:flag[]数组表示删除的点,d[]数组代表节点到根节点的距离,b[]数组代表节点属于哪一颗子树,a[]子树中所有的节点(并按照d从小到大排序),size1[]数组表示编号为i的子树的大小,cnt[]数组表示编号为i的子树出现的次数。首先我...原创 2019-05-07 15:13:29 · 203 阅读 · 1 评论 -
CH2101 可达性统计 (拓扑排序+状态压缩)
题目链接:http://contest-hunter.org:83/contest/0x20%E3%80%8C%E6%90%9C%E7%B4%A2%E3%80%8D%E4%BE%8B%E9%A2%98/2101%20%E5%8F%AF%E8%BE%BE%E6%80%A7%E7%BB%9F%E8%AE%A1以前看这道题的时候,拓扑排序搞出来就不会压缩状态了,这几天学会了用bitset这个神奇的东...原创 2019-05-21 17:18:35 · 367 阅读 · 0 评论 -
P1126 机器人搬重物(BFS)
比较简单的一道bfs搜索题,注意细节就好每次记录小球左上角,然后判断能不能进行下一步即可#include<bits/stdc++.h>using namespace std;const int maxn=59;int mapp[maxn][maxn];bool vis[maxn][maxn][9];int step[maxn][maxn][9];//0,...原创 2019-06-22 11:08:29 · 213 阅读 · 0 评论 -
AcWing 166. 数独(搜索)
题目链接:数独多组输入,每次给一个完整的9*9的数独,保证有答案,要你输出答案。这道题的数据特别强,不仅要注意搜索的顺序,防止搜索树分支加大,还要注意常数部分的优化。预处理出每个下标对应的行号,列号,所属块号;预处理出数字对应的二进制有多少个1,可以用lowbit做;预处理出2的整数次幂对应的幂数是多少。我们用二进制来表示这一行,这一列,这一个块可以使用的数字,若某个数...原创 2019-07-19 16:57:54 · 336 阅读 · 0 评论 -
2019牛客暑期多校训练营(第二场)F-Partition problem(搜索)
给出2*n个人,以及给出他们之间的关系数值,现在要求将这些人分成两拨,一拨有n个人,然后求这个最大爆搜加剪枝。比赛的时候演了自己一个多小时。。。我以为那种直接在包含k个1的二进制间进行转移,上一个状态和这个状态只有两个位置的二进制不同,但是这种转移只是按照二进制的字典序从小到大排列的:(转移方法:)//从n个数字中选择k个数字(k<=n);int k;int com...原创 2019-07-21 09:20:59 · 344 阅读 · 0 评论 -
牛客练习赛37 C(双向dfs+字典树)
题目链接:C 筱玛的迷阵探险题意:给定一个n*n(n<=20n<=20n<=20)大小的矩阵,矩阵中的每个点上有一个数字,初始时,你自身有一个数字,现在让你从(1,1)走到(n,n),每次只能向下或向右走,将路径上的数字以及你自身的数字异或起来,问最小的异或值为多少。首先考虑数据最值,直接大力搜索的话复杂度为C4020C_{40}^{20}C4020,复杂度...原创 2019-09-11 19:26:46 · 119 阅读 · 0 评论