当前位置: 首页 > news >正文

高端的网站设计制作搜索引擎有哪些网站

高端的网站设计制作,搜索引擎有哪些网站,如何进行品牌营销,网站开发就业岗位2846. 边权重均等查询 题目描述#xff1a; 现有一棵由 n 个节点组成的无向树#xff0c;节点按从 0 到 n - 1 编号。给你一个整数 n 和一个长度为 n - 1 的二维整数数组 edges #xff0c;其中 edges[i] [ui, vi, wi] 表示树中存在一条位于节点 ui 和节点 vi 之间、权重…2846. 边权重均等查询 题目描述 现有一棵由 n 个节点组成的无向树节点按从 0 到 n - 1 编号。给你一个整数 n 和一个长度为 n - 1 的二维整数数组 edges 其中 edges[i] [ui, vi, wi] 表示树中存在一条位于节点 ui 和节点 vi 之间、权重为 wi 的边。 另给你一个长度为 m 的二维整数数组 queries 其中 queries[i] [ai, bi] 。对于每条查询请你找出使从 ai 到 bi 路径上每条边的权重相等所需的 最小操作次数 。在一次操作中你可以选择树上的任意一条边并将其权重更改为任意值。 注意 查询之间 相互独立 的这意味着每条新的查询时树都会回到 初始状态 。从 ai 到 bi的路径是一个由 不同 节点组成的序列从节点 ai 开始到节点 bi 结束且序列中相邻的两个节点在树中共享一条边。 返回一个长度为 m 的数组 answer 其中 answer[i] 是第 i 条查询的答案。 示例1 示例2 提示 1 n 10^4edges.length n - 1edges[i].length 30 ui, vi n1 wi 26生成的输入满足 edges 表示一棵有效的树1 queries.length m 2 * 104queries[i].length 20 ai, bi n 思路 要我们以queries数组为遍历基础先找到ai到bi的路径然后统计路径上的权值找到频次最高的权值出现的次数用路径长度-频次即为所求的最小操作次数。 求最近公共祖先LCA(Least Common Ancestors)即最近公共祖先这种描述是基于树结构的也即我们通通常只在树结构中考虑祖先问题。树实际上就是图论中的有向无环图而要研究LCA问题首先我们要指定树中的一个顶点为根节点并以该节点遍历有向无环图生成一颗DFS序下的树假设我们要查询的两个节点为u,vDFS序下根节点到两点的最短路径分别是(r,u),和(r,v)LCA就是(r,u)与(r,v)公共路径的最后一个节点。 而求两点间的路径长度可以通过倍增法求 LCA 来实现。我们记两点分别为 u 和 v最近公共祖先为 x那么 u 到 v的路径长度就是 depth(u)depth(v)−2×depth(x)。 另外我们可以用一个数组 cnt[n][26] 记录根节点到每个节点上每个边权重出现的次数。那么 u 到 v 的路径上出现次数最多的边的次数就是 max⁡0≤j26cnt[u][j]cnt[v][j]−2×cnt[x][j]。其中 x 为 u和 v的最近公共祖先。 代码 class Solution { public:vectorint minOperationsQueries(int n, vectorvectorint edges, vectorvectorint queries) {int m 32 - __builtin_clz(n);vectorpairint, int g[n];int f[n][m];int p[n];int cnt[n][26];int depth[n];memset(f, 0, sizeof(f));memset(cnt, 0, sizeof(cnt));memset(depth, 0, sizeof(depth));memset(p, 0, sizeof(p));for (auto e : edges) {int u e[0], v e[1], w e[2] - 1;g[u].emplace_back(v, w);g[v].emplace_back(u, w);}queueint q;q.push(0);while (!q.empty()) {int i q.front();q.pop();f[i][0] p[i];for (int j 1; j m; j) {f[i][j] f[f[i][j - 1]][j - 1];}for (auto [j, w] : g[i]) {if (j ! p[i]) {p[j] i;memcpy(cnt[j], cnt[i], sizeof(cnt[i]));cnt[j][w];depth[j] depth[i] 1;q.push(j);}}}vectorint ans;for (auto qq : queries) {int u qq[0], v qq[1];int x u, y v;if (depth[x] depth[y]) {swap(x, y);}for (int j m - 1; ~j; --j) {if (depth[x] - depth[y] (1 j)) {x f[x][j];}}for (int j m - 1; ~j; --j) {if (f[x][j] ! f[y][j]) {x f[x][j];y f[y][j];}}if (x ! y) {x p[x];}int mx 0;for (int j 0; j 26; j) {mx max(mx, cnt[u][j] cnt[v][j] - 2 * cnt[x][j]);}ans.push_back(depth[u] depth[v] - 2 * depth[x] - mx);}return ans;} }; 大意我懂了但是俺似乎写不出来这么完整的哭然后继续学
http://www.hkea.cn/news/14393432/

相关文章:

  • 电商网站开发怎么样汕头企业网站推广技巧
  • 网站建设文字资料餐饮品牌设计服务
  • 学院网站群建设方案衣服网站建设规划书
  • 企业网站软件东莞市建设工程信息服务协会
  • 什么是门户网站有哪些福建省网站备案用户注销(删除)备案申请表
  • 东台网站制作西安市建设工程信息网招投标业务平台
  • 网站开发工程师求职信外贸怎样做网站
  • 北京网站设计公司兴田德润优惠吗厦门seo
  • 网站怎样做地理位置定位石家庄的设计公司
  • 展览会建设网站平台的作用阿里巴巴做网站
  • 织梦网站后台一键更新没反应自己免费建站平台推荐
  • 安徽合肥制作网站公司哪家好网站做聚合页面
  • 如何建立网站建设wordpress的数据库主机名
  • 网站内容改版开发公司移交物业必备资料
  • 基于vue的个人网站开发南昌盗网站少优化公司
  • 发布网站需要多大空间wordpress控制上下页链接
  • 跳转网站代码59网站一起做网店
  • 新增备案网站要关闭吗手机模板网站生成制作软件
  • 怎样制作微信网站网页设计课程心得体会
  • 滁州网站开发小程序个人开发全过程
  • 广西建设网桂建云网站济南网站制作工作室
  • asp网站模板安装教程做网站的照片要多大像素
  • 做手机网站费用西安SEO网站建设哪家好
  • 网站首页新闻模板西安营销网站
  • 建e室内设计网画图郑州做网站优化最好的公司
  • 免费云服务器网站有哪些无锡正规网站建设
  • 游戏网站怎么做推广东莞财务公司代注册公司
  • 网站策划编辑如何做华为商城网站设计分析
  • 医疗产品网站建设中小企业网站建设应该注意什么事项
  • 做网站公司 汉狮网络关键词seo资源