![](https://img-blog.csdnimg.cn/a8e39ec5e5e04ccc8bda993048a993ee.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Dfs
文章平均质量分 56
深度优先搜索
EschatonAyane
风会带走我曾经存在过的证明
展开
-
【洛谷P1300】城市街道交通费系统【dfs】
linklinklink分析:dfsdfsdfs剪枝向右向后向左转分别为 右转1/2/31/2/31/2/3次设向E/S/W/NE/S/W/NE/S/W/N的方向分别为0/1/2/30/1/2/30/1/2/3 注意导航的方向也是E/S/W/NE/S/W/NE/S/W/N的顺序CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#inclu..原创 2022-05-04 10:52:33 · 225 阅读 · 1 评论 -
【51nod 3062】n皇后问题 V2【位运算dfs】
linklinklink分析:位运算加速nnn皇后可以用三个二进制数记录每行上 每列以及两条斜线的占用情况 那么三个或起来 就得到了该行的所有禁位 取反就是所有可以放的位得出每行可以放的位后 用lowbitlowbitlowbit即可找出放的位置CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define reg registerus.原创 2022-02-25 20:38:19 · 345 阅读 · 0 评论 -
【洛谷P7411】Comfortable Cows S【dfs】
linklinklink分析:dfsdfsdfs 判断当前点四周是否有333头牛的情况 再相应填牛注意填了新牛可能会影响其他牛的舒适情况 就要再看填的牛的四周以及看添加的牛之前是否已填入 就要ansansans减111 并处理负数坐标CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;const in.原创 2021-08-20 21:00:47 · 173 阅读 · 0 评论 -
【洛谷P5521】梅深不见冬【贪心dfs】
linklinklink分析:因为要在子节点都没放置后 才能放自己 那放完自己后 子节点就可以拆除了对于叶节点 ansansans为自己的www对于非叶节点如果所有子节点都没有111朵以上梅花 ansansans为wx+∑wsonw_x+\sum w_{son}wx+∑wson xxx是当前节点 sonsonson是所有子节点或由一棵子树剩下的梅花(ansi−wi)(ans_i-w_i)(ansi−wi)(就是可回收的) 分给之后遍历的子树 这时ans=∑k=1i−1wk+ansi...原创 2021-05-04 22:15:09 · 95 阅读 · 0 评论 -
【10.28模拟赛T6】[洛谷P2341]受欢迎的牛【dfs+剪枝】
linklinklink分析:数据还是比较水的可以直接dfsdfsdfs过 注意标记+判断即可这个dfsdfsdfs在洛谷上过不了正解为taijantaijantaijan缩点 或kosarajukosarajukosaraju求连通分量以及暴搜+剪枝 也可以过n2n^2n2过百万 暴搜碾标算将牛看成节点 反向建边 对于一只奶牛 跑dfsdfsdfs判断能不能到达其他所有奶牛 然后加少しばかりの少しばかりの少しばかりの剪枝即可还要开个O(2)O(2)O(2)优化CODE:#inc.原创 2020-10-29 09:53:58 · 230 阅读 · 0 评论 -
【10.26模拟赛T3】棋盘行走【dfs】
分析:数据不大 直接dfsdfsdfs即可过十分简易 且 喜闻乐见CODE:#include<iostream>#include<cstdio>#include<algorithm>#define re register using namespace std;const int N=2505;int n,m,dx[5]={0,1,0,-1},dy[5]={-1,0,1,0};bool ans,vis[N][N],start[N][N];ch...原创 2020-10-26 21:25:31 · 134 阅读 · 0 评论 -
【9.12模拟赛T4】树【dfs&树状数组】
1140.树时间限制:10000MS内存限制:512000KB题目描述 小L非常喜欢树。最近,他发现了一棵有趣的树。这棵树有n个节点(1到n编号),节点i有一个初始的权值ai。这棵树的根是节点1。 这棵树有一个特殊的性质:当你给节点i的权值加 val 的时候,节点i的所有儿子的权值都会加 -val。注意当你给节点i的儿子的权值加 -val 时,节点i的这个儿子的所有儿子的权值都会加 -(-val),以此类推。样例说明可以很好地帮助你理解这个性质。 有2种操作: 操作(a).“1原创 2020-09-12 16:24:29 · 212 阅读 · 0 评论 -
【洛谷 P2258】子矩阵【DFS+DP】
题目描述洛谷原题给出如下定义:子矩阵:从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵(保持行与列的相对顺序)被称为原矩阵的一个子矩阵。例如,下面左图中选取第2、42、42、4行和第2、4、52、4、52、4、5列交叉位置的元素得到一个2×32×32×3的子矩阵如右图所示。9 3 3 3 99 4 8 7 41 7 4 6 66 8 5 6 97 4 5 6 1的其中一个2×32×32×3的子矩阵是4 7 48 6 9相邻的元素:矩阵中的某个元素与其上下左右四个原创 2020-08-20 17:03:12 · 456 阅读 · 0 评论 -
【SSL 1383】车II【状压DP&DFS】
车IITime Limit:1000MS Memory Limit:65536KDescription有一个n∗mn*mn∗m的棋盘(n、m≤80,n∗m≤80)(n、m≤80,n*m≤80)(n、m≤80,n∗m≤80)要在棋盘上放k(k≤20)k(k≤20)k(k≤20)个棋子,使得任意两个棋子不相邻。求合法的方案总数。Inputn,m,kn,m,kn,m,kOutput方案总数Sample Input3 3 2Sample Output24分析:n∗m<=80n*原创 2020-08-19 21:22:44 · 922 阅读 · 0 评论 -
【POJ 3321】Apple Tree【树状数组&DFS】
苹果树时限: 2000MS 内存限制: 65536K描述卡卡家门外有一棵苹果树。每年秋天,树上都会种很多苹果。卡卡非常喜欢苹果,因此他一直在精心培育大苹果树。该树有N个分支,这些分支由分支连接。Kaka用1到N对叉进行编号,并且根始终用1编号。在叉上将生长苹果,而在同一叉上将不会生长两个苹果。卡卡想了解子树中有多少苹果,以便研究苹果树的生产能力。问题在于,有时空叉上会长出一个新苹果,卡卡可能会从树上摘下一个苹果作为甜点。你能帮卡卡吗?输入项第一行包含一个整数Ñ(Ñ ≤100,000),这是树原创 2020-08-18 10:33:44 · 495 阅读 · 0 评论 -
【洛谷P1144】 最短路计数【spfa+记忆化搜索】
题目描述给出一个N个顶点M条边的无向无权图,顶点编号为1-N。问从顶点1开始,到其他每个点的最短路有几条。输入格式第一行包含2个正整数N,M,为图的顶点数与边数。接下来M行,每行2个正整数x,y,表示有一条顶点x连向顶点y的边,请注意可能有自环与重边。输出格式共N行,每行一个非负整数,第i行输出从顶点1到顶点i有多少条不同的最短路,由于答案有可能会很大,你只需要输出 ans mod 1...原创 2020-01-19 16:10:47 · 1660 阅读 · 0 评论 -
【SSL 1743】Debug【搜索树or树形DP】
DebugTime Limit:1000MS Memory Limit:65536KDescription经过了一整夜的激战,rc的部队终于攻下了虫族的首都Bugzilla。现在,rc决定亲自带领一队突击队员在虫族庞大的地道中寻找他的宿命之敌—Bug。 Bugzilla由N个基地组成。这N个基地被N-1段双向地道连接在一起,每段地道都连接两个基地,并且保证任意两个基地之间都可以通过地道互相到达。Bug就藏在其中的某段地道中。 开始时rc可以乘坐运输机降落在任何一个基地。每次到达一个基地时,r原创 2020-08-14 21:49:36 · 329 阅读 · 0 评论 -
【SSL 1127&洛谷P5691】[NOI2001]方程的解数【较难の哈希表&搜索】
方程的解数(difficult)Time Limit:10000MS Memory Limit:65536KDescriptionInput第1行包含一个整数n。第2行包含一个整数M。第3行到第n+2行,每行包含两个整数,分别表示ki和pi。两个整数之间用一个空格隔开。第3行的数据对应i=1,第n+2行的数据对应i=n。Output仅一行,包含一个整数,表示方程的整数解的个数。Sample Input31501 2-1 21 2Sample Output178分析原创 2020-07-21 19:21:44 · 436 阅读 · 0 评论 -
[NOI Online入门组]#3 观星
题目描述Jimmy 和 Symbol 约好一起看星星,浩瀚的星空可视为一个长为 N、宽为 M 的矩阵,矩阵中共有 N×M 个位置,一个位置可以用坐标 (i,j)(1≤i≤N,1≤j≤M)来表示。每个位置上可能是空的,也可能有一个星星。对于一个位置 (i,j),与其相邻的位置有左边、左上、上面、右上、右边、右下、下面、左下 8 个位置。相邻位置上的星星被视为同一个星座,这种关系有传递性,例如若 (1,1),(1,2),(1,3)三个位置上都有星星,那么这三个星星视为同一个星座。包含的星星数量相同的星座被视原创 2020-06-14 14:51:36 · 430 阅读 · 0 评论 -
2020.3.8 C组第四题 密码编码【DFS】
题目描述农夫约翰最近想发一些秘密的信息,但是他不想让奶牛们知道。这些信息是‘A’到’Z’的字符组成的,长度至少是2。为了对这些信息进行加密,农夫约翰对这些信息进行了一系列的操作,每次操作,约翰把字符串S去掉从第一个开始连续的若干个字符或者从最后一个字符开始连续若干个字符(至少去掉一个字符,也不能全部去掉),然后把剩余的字符串添加到原来S串的左边或者右边。例如,对于字符串ABC,一次操作可以有8...原创 2020-04-10 17:08:39 · 289 阅读 · 0 评论 -
【洛谷P1343】[SHOI2002] 滑雪【DFS 记忆化搜索】
题目描述Michael喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道在一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子:1 2 3 4 516 17 18 19 615 24 25 20 714 2...原创 2020-01-16 21:58:40 · 281 阅读 · 0 评论 -
【SSL 2324&洛谷P1451】细胞问题【DFS】
Description一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。如:阵列0234500067103456050020456006710000000089有4个细胞。Input输入共m+1行第一行有两个数据,分别表示总行数和总列数以下的m行,每行有n个0-9之间的数Output细胞个数Sam...原创 2020-01-15 18:25:07 · 311 阅读 · 0 评论