帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
换根DP,LeetCode 2581. 统计可能的树根数目
发布时间:2024-03-03 07:13:45   分类:帮助文档
换根DP,LeetCode 2581. 统计可能的树根数目 目录 一、题目 1、题目描述 2、接口描述 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 Alice 有一棵 n 个节点的树,节点编号为 0 到 n - 1 。树用一个长度为 n - 1 的二维整数数组 edges 表示,其中 edges[i] = [ai, bi] ,表示树中节点 ai 和 bi 之间有一条边。 Alice 想要 Bob 找到这棵树的根。她允许 Bob 对这棵树进行若干次 猜测 。每一次猜测,Bob 做如下事情: 选择两个 不相等 的整数 u 和 v ,且树中必须存在边 [u, v] 。Bob 猜测树中 u 是 v 的 父节点 。 Bob 的猜测用二维整数数组 guesses 表示,其中 guesses[j] = [uj, vj] 表示 Bob 猜 uj 是 vj 的父节点。 Alice 非常懒,她不想逐个回答 Bob 的猜测,只告诉 Bob 这些猜测里面 至少 有 k 个猜测的结果为 true 。 给你二维整数数组 edges ,Bob 的所有猜测和整数 k ,请你返回可能成为树根的 节点数目 。如果没有这样的树,则返回 0。 2、接口描述 ​ class Solution { public: int rootCount(vector>& edges, vector>& guesses, int k) { } }; 3、原题链接 2581. 统计可能的树根数目 二、解题报告 1、思路分析 暴力思路:查询每一个节点作为根时的猜对的数目 遍历一次为O(N),总的时间复杂度为O(N^2) 我们发现枚举完x作为根的情况再去枚举其邻接点y作为根,只会改变x,y之间的关系 也就是说,每个节点作为根的情况和其相邻节点作为根的情况具有转移关系 我们先以0为根跑一遍,统计猜测正确的数目tot 以那么0的邻接点x的猜测数目就是tot - isguessed(x, y) + isguessed(y, x) 对于猜测数对我们可以哈希表存储 其它看代码即可 2、复杂度 时间复杂度: O(n+m)空间复杂度:O(n+m) 3、代码详解 ​ class Solution { public: static constexpr int N = 1e5 + 10; typedef long long ll; int rootCount(vector>& edges, vector>& guesses, int k) { vector> g(edges.size() + 1); for(auto& p : edges) g[p[0]].emplace_back(p[1]), g[p[1]].emplace_back(p[0]); int ret = 0, tot = 0; unordered_set mp; for(auto& p : guesses) mp.insert((ll)p[0] << 32 | p[1]); function dfs = [&](int x, int fa){ for(int y : g[x]) if(y != fa) tot += mp.count((ll)x << 32 | y), dfs(y, x); }; dfs(0, -1); function foo = [&](int x, int fa, int t){ ret += t >= k; for(int y : g[x]) if(y != fa) foo(y, x, t - mp.count((ll)x << 32 | y) + mp.count((ll)y << 32 | x)); }; foo(0, -1, tot); return ret; } };
香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价