首页 > 其他分享 >ABC254E Small d and k(BFS)

ABC254E Small d and k(BFS)

时间:2022-09-28 20:33:27浏览次数:71  
标签:std int BFS ABC254E ans Small 顶点

E - Small d and k

题目描述:

  给\(n\)个顶点\(m\)条边的无向图,每个顶点的度不超过\(3\),给你\(Q\)次询问,每次询问给你一个顶点\(x\)和一个\(k\),表示求距离顶点\(x\)的长度不超过\(k\)的顶点标号之和。

思路:

  关键在每一个点的度是不超过\(3\)的,所以可以考虑对每一个询问的点做一遍\(BFS\),每一次搜索的点不会超过\(3 * 3 * 3\)个点,所以查询的复杂度不会超过\(O(30q)\)。在\(BFS\)的时候不能光存一个当前的节点编号\(i\),还需要存一个变量\(d\),表示从初始点到当前点的距离,如果大于\(k\)就不继续搜下去.

    auto bfs = [&](int u, int k) -> int {
        std::queue<std::array<int, 2>> q;
        q.push({u, 0});
        std::vector<bool> vis(n + 1);

        int ans = 0;
        while(q.size()) {
            std::array<int, 2> t = q.front();
            q.pop();
            if (vis[t[0]] || t[1] > k) continue;
            ans += t[0];
            vis[t[0]] = true;
            for (auto& v : adj[t[0]]) {
                q.push({v, t[1] + 1});
            }
        }
        return ans;
    };

标签:std,int,BFS,ABC254E,ans,Small,顶点
From: https://www.cnblogs.com/Haven-/p/16739482.html

相关文章

  • 【安全测试】移动端安全测试MobFS工具
    APP安全测试工具介绍:       MobSF(MobileSecurityFramework)是一款自动化移动App安全测试框架,适用于iOS和Android,可熟练执行动态、静态分析和WebAPI......
  • Smallest Subsets
    传送门题意:\(n\le1e5\)个整数,范围\(-1e9\lea\le1e9\),求第\(k\)小的子集和思路先考虑只有正数怎么做这就是经典的类最短路:先将序列排序,然后从最小的子集和\({......
  • Python 与 Smalltalk 相比如何?
    Python与Smalltalk相比如何?Python是目前世界上最流行的编程语言,根据TIOBE,PYPL,和IEEE频谱.红僧将Python排在第2位。Python是两种最受欢迎​​的职位发......
  • Pest24: A large-scale very small object data set of agricultural pests for multi
    1.论文主要工作建立了一个包含24类典型虫害,并且使用了几种最先进的深度学习检测方法(RCNN、SSD、YOLOv3、CascadeR-CNN)来检测数据集中的害虫,从多个方面分析了数据集,发现了......
  • Smallest Subarrays With Maximum Bitwise OR
    SmallestSubarraysWithMaximumBitwiseORYouaregivena0-indexedarray nums oflength$n$,consistingofnon-negativeintegers.Foreachindex$i$from$......
  • AcWing算法基础课---第三讲基础算法---01DFS和BFS
    DFSAcWing842.排列数字#include<iostream>usingnamespacestd;constintN=10;intn;intpath[N],st[N];voiddfs(intu){if(u==n){......
  • 【BFS】算法模板与思路
    1.BFS算法的基础理论是什么?BFS算法名叫宽度优先搜索,虽然我能理解深度优先搜索,但我却不是很能理解宽度优先搜索。一个很关键的点在于:宽度优先搜索是一个迭代的算法,不是递......
  • bfs和dfs基础
    #bfs&dfsgraph={"A":["B","C"],"B":["A","C","D"],"C":["A","B","D","E"],"D":["B","......
  • 广度优先搜索 BFS
    广度优先搜索BFS概念:广度优先搜索是连通图的一种遍历策略,从一个顶点开始,辐射状的优先遍历其周围较广的区域。模板:  ......
  • 1021 ObstacleCourse障碍训练课 优先队列+bfs+转弯
    链接:https://ac.nowcoder.com/acm/contest/26077/1021来源:牛客网题目描述考虑一个NxN(1<=N<=100)的有1个个方格组成的正方形牧场。......