当前位置: 首页 > dfs dfs-dfs简介-关于dfs的教程文章在线阅读

dfs-dfs简介-dfs资料

dfs
  • [luoguP1131] [ZJOI2007]时态同步(贪心)传送门显然是一棵树。又显然一段一段地增加比较优。我们可以dfs,并且尽量把每一个节点所有子树中所有节点的时间增加到一样。#include <vector>#include <cstdio>#include <c

  • [BZOJ2393] Cirno的完美算数教室(dfs+容斥原理)传送门先通过dfs预处理出来所有只有2和9的数,也就大概2000多个。想在[L,R]中找到是这些数的倍数的数,可以通过容斥原理那么如果a % b == 0,那么便可以把 a 去掉,因为 b 的倍数肯

  • [BZOJ1576] [Usaco2009 Jan]安全路经Travel(堆优化dijk + (并查集 || 树剖))传送门

    蒟蒻我原本还想着跑两边spfa,发现不行,就gg了。
    首先这道题卡spfa,所以需要用堆优化的dijkstra求出最短路径
    因为题目中说了,保证最短路径有且只有一条,所以可以通过dfs

  • [BZOJ1574] [Usaco2009 Jan]地震损坏Damage(贪心 + dfs)传送门

    告诉你一些点不能到达1,由于是双向边,也就是1不能到达那些点
    那么从1开始dfs,如果当前点能到达不能到达的点,那么当前点就是损坏的。


    #include <cstdio>
    #include <c

  • [luoguP2962] [USACO09NOV]灯Lights(高斯消元 + dfs)传送门

    先进行高斯消元
    因为要求最少的开关次数,那么:
    对于关键元,我们可以通过带入消元求出,
    对于自由元,我们暴力枚举,进行dfs,因为只有开关两种状态,0或1


    #include <cmath>
    #

  • [luoguP1494] 岳麓山上打水 && [luoguP2744] [USACO5.3]量取牛奶Milk Measuring传送门
    传送门

    dfs选取集合,dp背包判断
    虽然我觉的会TLE。。
    但是的确是AC了


    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    #define

  • [luoguP1013] 进制位(搜索)传送门

    纯搜索,无优化!


    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    #define N 10

    using namespace std;

    int n, m, f;
    int c[30

  • [luoguP1074] 靶形数独(搜索)传送门

    75分,太菜,不会优化了,吐了。
    几点优化。
    1.先搜索容易确定的位置
    2.从中心往周围搜
    3.枚举数字的时候倒序枚举
    4.如果没有枚举到的数字都是最优情况的话也不能比当前

  • [luoguP1041] 传染病控制(DFS)传送门

    n <= 300
    结果裸的dfs就直接过了。。
    枚举每一层,枚举删除每一层的边,然后把删除的边所连接的子树全部删去

    代码

    #include <vector>
    #include <cstdio>
    #include <

  • [luoguP1021] 邮票面值设计(DFS + dp)传送门

    数据很小,可以DFS,判断的时候用背包DP
    然而不知到枚举到哪里。。。。
    首先枚举前可以求一遍题目中的MAX,下一层DFS的时候可以只枚举到MAX + 1,因为再往上就必定会出现

  • [luoguP1019] 单词接龙(DFS)传送门

    不知为什么,判断全部包含反而A不了,不判断反而A了,╮(╯▽╰)╭

    代码

    #include <cstdio>
    #include <iostream>
    #define max(x, y) ((x) > (y) ? (x) : (y))

    using

  • [luoguP3565] [POI2014]HOT-Hotels(dfs)传送门

    三点在树上距离相等的情况只有一种,就是以某一个点为中心,三个点到这个点的距离相等。
    所以直接枚举每个点作为中心,dfs这个中心的子树,根据乘法原理统计答案即可。

  • [luoguP2680] 运输计划(lca + 二分 + 差分)传送门

    暴力做法 50 ~ 60
    枚举删边,求最大路径长度的最小值。
    其中最大路径长度运用到了lca

    我们发现,求lca的过程已经不能优化了,那么看看枚举删边的过程能不能优化。
    先把

  • [luoguP1433] 吃奶酪(DP || Dfs)传送门

    深搜加剪纸可A(O(玄学) 1274ms)
    ——代码


    1 #include <cmath>
    2 #include <cstdio>
    3 #include <iostream>
    4
    5 int n;
    6 double ans = ~(1 << 31), a[16],

  • [luoguP1351] 联合权值(Dfs)传送门

    距离为2的点会产生权值,第一问,只需要在dfs的时候把一个点相邻的点都处理出来就行。
    具体处理方式看代码,然而这样只处理了一遍,最后在乘2就好了。
    第二问只需要处理一

  • [BZOJ1179] [Apio2009]Atm(tarjan缩点 + spfa)传送门

    题意

    N个点M条边的有向图
    每个点有点权
    从某一个结点出发
    问能获得的最大点权和
    一个点的点权最多被计算一次
    N<=500000 M<=500000

    思路
    先tarjan缩点,然后就形成

  • [luoguP2982][USACO10FEB]慢下来Slowing down(dfs序 + 线段树)传送门

    这个题显然可以用树链剖分做。
    然而线段树也能做。
    每个点都对它的子树有贡献,所以先求一边 dfs序,然后直接在 dfs序 中搞 线段树 就行。

    ——代码


    1 #include <

  • [luoguP2444] [POI2000]病毒(AC自动机 + dfs)传送门

    先把所有串建一个AC自动机,
    如果要找一个不包含任意一个串的串,
    说明这个串一直在AC自动机上匹配但匹配不到,
    也就是说,匹配时除去val值为1的点,除去fail指针指向val值

  • [luoguP3178] [HAOI2015]树上操作(dfs序 + 线段树 || 树链剖分)传送门

    树链剖分固然可以搞。
    但还有另一种做法,可以看出,增加一个节点的权值会对以它为根的整棵子树都有影响,相当于给整棵子树增加一个值。
    而给以某一节点 x 为根的子树增

  • [luoguP2420] 让我们异或吧(dfs + 异或的性质)传送门

    因为异或满足结合律和交换律。
    a^b^b=a

    所以这个题直接求根节点到每个点路径上的异或值。
    对于每组询问直接输出根到两个点的异或值的异或的值。

    ——代码


    1

  • NOIP2009T3最优贸易(Dfs + spfa)洛谷传送门
    看到这个题,原本想先从后往前dfs,求出能到终点的点,再在这些点里从前往后spfa,用一条边上的两个城市的商品价格的差来作边权,实施过后,发现图中既有负边权,又有回路,以


  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素